|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Stay one step ahead of the competition. Evaluate and give feedback
on some of the hottest web development tools on the market today.
Make your opinion heard! Click
Here
|
|
#1
|
||||
|
||||
|
Where to get help writing "real" applications?
I've been doing web development for 8 years now, straight out of school. I'm completely self-schooled (thanks Google!) and fully conversant with OO-PHP, JavaScript, XSL, XQuery, and a whole host of other web technologies. I think its time for me to start toying with some proper programming. I'm not sure about which language to use, but at the moment thats now what I'm having problems with.
Coming from a dynamic-language background, I've been working in a land very distant to the actual hardware i'm using. I think its time I start working with bits and bytes rather than requests and responses. So, in order to get to grips with writing "real" code, I've decided that a good beginning app would be a database. I'm not talking building an Oracle clone here, just something to get me started with compilers, etc. My problem now is... where do I start? Once I pick a language, I'm sure I'll be able to get to grips with the syntax, idioms, and features very quickly. What I'm not sure on is where I can find some introduction into the things the manuals don't/won't cover - how the file-system really works, working with binary information, parsing input, and (importantly for a database system) storage models. So, can anyone point me in the right direction?
__________________
R.T.F.M - Its the only way to fly... "No matter what you do, or how good it is, someone will always ask for more features. Or to change the colour of something, then change their minds." Personal: experience// 8 Years Web Development technologies// Standards-compliant, valid, & accessible (x)HTML/CSS, XML/XSL/XPath/XQuery/XUpdate, (OOP) PHP/(My)SQL, eXist/Xindice/XMLDBs packages// Photoshop, Illustrator, Flash/Fireworks/Director environment// FC2, MySQL, Lighttpd, PHP5, Mojavi/Agavi site// //refactored.net/ (Coming soon...) quote// Programming is the eternal competition between programmers who try to make apps more and more idiot proof and the universe that makes dumber idiots. So far, the universe is winning... |
|
#2
|
||||
|
||||
|
nobody able to help me with this?
|
|
#3
|
|||
|
|||
|
We can help, just takes us time to reply. Give us time...
![]() |
|
#4
|
||||||
|
||||||
|
Quote:
You'll want to make a choice as to how low level you get. With C, C++, you definitely have to be aware of what goes on in the computer. Memory management, dealing with buffers, threading, and so on are all laid bare before you. With C# and .NET languages, as well as Java, the details are hidden from you although they aren't abstracted too much. In general, C and C++ are kings of system level programming and any high performance code, while .NET and Java are taking over applications development and most general programming scenarios. Quote:
Quote:
Quote:
It's important that you learn the language properly. If you spend some time on C++ forums, you'll find us quite often correcting problems in how people use the language. Forget algorithms, they don't have the basics down correct. That's why, find out what the best resources for a language is. With C++ for example, it's in a selection of books written by the experts. |
|
#5
|
||||
|
||||
|
Quote:
I was thinking about trying C# (or mono - I'm on ubuntu). I've spent a lot of my free time looking at languages, and because I don't want to mess about with pointers/memory management I looked at languages to do that for me. D (which is C++ minus the gripes and has garbage collection) and Erlang (because its functional, which I'm quite comfortable with after using XSL and XQuery) seem good choices for me, and I'll probably go with the latter. Quote:
This is something I realize and am comfortable with. I appreciate your comments and thank you for your time. I think I might have asked the wrong question though. The main thing I'm looking for is where to start to get an understanding of the computer science/theory which is behind all languages - which would be i/o, storage models, filesystems, sockets. I know a little about sockets through working with PHP, but I don't think I know enough. Wikipedia is great, but it rarely gives links to what I need - examples. What I tend to find are very light articles ("a filesystem is somewhere you put your files") or scientific papers (just filled with algebra). There's little intermediate literature to get from the former to the latter easily (or without moving to the US and spending 10 years at uni). Where would I find that intermediate material? What sort of terms should I be throwing at Google? |
|
#6
|
||||
|
||||
|
Quote:
Quote:
Good luck with your project. Displeaser
__________________
Vi Veri Veniversum Vivus Vici. |
|
#7
|
|||
|
|||
|
Quote:
Try SICP, either as a book or series of videos (discussed here fairly often) especially as you're interested in fundamentals. If you stick with it you will learn an enormous amount. It will show you a very clean and powerfully expressive style, high level but more than capable of bit-twiddling when that's what you need to do. SICP uses scheme throughout. Don't be put off if you hadn't intended learning scheme - you don't need to know much to follow the examples and do the exercises and you won't regret it. Last edited by jamieB : January 15th, 2007 at 08:37 AM. |
|
#8
|
|||
|
|||
|
If you are wanting to get a good understanding of computer programming in a since of computer theory and make it more of a science then I highly recommend a lisp. Scheme is nearly perfect for learning computer theory, which is why it is used in sicp. However with modern compilers, schemes such as gambit can produce code that is as fast if not faster than a pretty good c programmer. With Scheme you will learn a lot about programming and ideas in general about computers.
I have been using scheme for about a year now and I am a really big fan of it, I have recently gone over to common lisp a bit more because of the readily available library's for it. That is one major downfall to scheme is that there is not much already written for it or there is and it is hard to find. I am using SBCL for common lisp if your interested, which is also another great language to look into and probably has just the same benefit of learning scheme. I have used erlang and I got pretty far with it, however it just didn't do things that I wanted it to do. It was lacking things like true string support and a powerful macro system that just turned me away from it. However with most modern lisps I am able to develop large apps like you would with erlang with multitasking. Even gambit can hold millions of threads. So the reason for me to continue using erlang was limited. I would not recommend it as a language to actually be used, I really do like its pattern matching conditions and message passing threading. Other than that its a very limited language. I would highly recommend not learning c or c++ as your first language, it will take you a long time to learn things and you will probably pick up a lot of bad habits that are prone to new c or c++ developers. I also don't recommend D or C# (with mono). D because it really is not complete and isn't used really anyware and c# because mono is not ready for production use and I am just not a fan of anything m$. I feel c# could be a good language however, I just think unless M$ helps projects make ways to interface with c# and such, like mono. C# will be limited to only windows and why just code for windows? I am a fan of java, it has its ugliness but all in all its a pretty solid language and I would much rather people use that than c# But I still believe that you should first learn scheme or common lisp. If you would like some more advise on which on is better you can pm me or something. |
|
#9
|
|||
|
|||
|
Quote:
Right on. I can't remember where the quote came from but in some paper it was said "it took the students 5 days to get lisp, except those who had never used C, who got it in two." Your mind is moulded to the shape of a programming language by the act of using it and it can be hard work to step back from that. |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > Other Programming Languages > Where to get help writing "real" applications? |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|