I chose programming as my first path to learn.
I am quite new to programming, except that I know some of the fundamentals.
I am planning to develop applications (simple ones at the moment) for windows.
Or simple, I'm interested to desktop-apps.
Where can I find the fundamentals of programming, like which program language is used for what purpose?
which language is at present, the best in its specific field?
E-books will be great, and I ask it here simply because I want the books that you experienced users recommend.
And I've always had problems when it comes to SDKs, I still clearly don't know how to setup a Java environment.
The only SDK or something similar I've messed with is TurboC, which I used to write my first ever "Hello World" program. LOL
To make things clear, I want to know :
- recommended e-books for programming (beginner to intermediate)
- good SDKs or whatever needed to start deploying my own program.
- some good advices
The main reason I've asked it here without even doing a little search on google is because it always come up with huge lists of sites and stuffs, always confusing me and forcing me to quit.
Pardon my English.
Regards,
haroon1992
Tags:
Permalink Reply by Ravi Chhabra on March 22, 2011 at 10:55pm Recommended Programming Bookshelf:
They have videos too, I am not sure how readily available they are.
Next is O'Reilly Books. But these books are no longer 'in'. But they are great books regardless of the trend and fashion in books. Their "Learning" series are for beginners. Followed by Cookbooks for Recipes, and "IN a Nutshell" for reference. Some years back they introduced "Head First" series, which was meant to be fun. Not sure how good they are as I have not read any of them.
Do you want to learn programming languages for knowledge and skill or to get a job? If it is the former. Learn Closure. (or Python/Ruby/Lisp). All of them are great languages that will change the way you think. If you want a job you will need to learn .Net and related technologies.
Permalink Reply by Tun on March 23, 2011 at 8:28am >good SDKs or whatever needed to start deploying my own program.
For Java, I would recommend Eclipse.
http://www.eclipse.org/downloads/
You will also need to download Tomcat if you are developing web apps.
http://tomcat.apache.org/download-60.cgi
For beginners, tutorials are useful. They come with figures and step by step instructions.
Google LANGUAGE + tutorial for beginners (eg. Java tutorial for beginners, ruby tutorial for beginners). Always start with something simple.
Have fun.
cheers
Permalink Reply by Haroon1992 on March 23, 2011 at 4:45pm I think I'm going to learn programming as well as 3d modelling (using 3ds Max).
I am just learning for my-self, I have no plans of getting a job.
And to admit I've never heard of Closure before, and I have extremely little knowledge about the rest, python, etc.
My plan is to develop my own accounting app or something like that once I've become an intermediate programmer or less.
My brother (elder) had obtained IADCS and he wrote a simple accounting software, and that inspired me further into programming.
I still need to learn more about the languages though, because I'm too confused with them now.
For the case of 3d modeling, i've tinkered with it enough in the past that I have no problem with basics. (Like transparency, materials, polygons, etc ,etc)
I was trying to create characters and doing their animations but it was never that simple. I've also done some kind of snow particles falling on a plane and bounces back, it was quite pleasing for me to see the output/result in wmp.
I have a question here, will simultaneously learning two paths confuse me? Is it better to learn one at a time?
I am also afraid about forgetting what I've learned, I've learned JavaScript to an extent back then and now I can't even find out how to pop out a "Hello World", without searching in google. LOL
I'm hope I'm not bothering anyone of you here. I just have the habit of asking too many questions.So please forgive me.
I am still too young and my mind is somewhat child-dish at times. That's why I seek advice from others. :)
Regards,
Haroon1992
Permalink Reply by trh on March 23, 2011 at 5:39pm If your main interest is windows programming, you should learn C# and .NET. If you are interested in developing system applications, learn C. For game programming, learn C++. If you want to write applications quickly without much effort (scripting), learn python.
Don't rush about writing applications yet. Instead, try to solve puzzles from Project Euler as you learn the language. If Project Euler is too mathematical for you, try other programming puzzle sites.
Don't bother too much about IDEs/SDKs either (eclipse, netbeans, visual studio ...). Focus on the language. Just use a text editor to edit, compile and run it (from CLI). Use simple IDEs (for instance, geany) if you must.
If you want to be a productive & better coder, do it on linux (or) any of Unix based systems. Believe me you will thank me later.
Books - http://www.51cnnet.net/
Recommened Readings
http://norvig.com/21-days.html
http://www.catb.org/~esr/faqs/hacker-howto.html
http://diovo.com/2010/03/what-programming-language-should-i-learn/
http://stackoverflow.com/questions/1450810/linux-vs-windows-program...
Permalink Reply by Haroon1992 on March 23, 2011 at 6:06pm Thanks for the links brothers. Though some of them are quite complicated and I couldn't figure out what was happening.
And I really don't know why you guys are refering me to sites like "how to become a hacker".
Of course I am not that kind of man who think "Hackers! Yuck!"
I know the goods about hackers. And I know how difficult it is to become a hacker.
As I am at the very early stage, I think I am not developed enough to understand some of those advanced contents posted on some of the sites.
Anyway, thanks very much for your helps, this really inspires me more on programming.
Regards,
Haroon1992
Permalink Reply by Ravi Chhabra on March 23, 2011 at 6:57pm
Permalink Reply by Haroon1992 on March 23, 2011 at 7:53pm
Permalink Reply by Ravi Chhabra on March 23, 2011 at 10:40pm
Permalink Reply by Haroon1992 on March 24, 2011 at 3:15pm Thanks, I'm now downloading several e=books from the sites you guys have provided.
Mostly, I'm downloading game related programming books.
Regards,
Haroon1992
Permalink Reply by Kyaw Zaw Lin on March 24, 2011 at 8:46pm You know I never found that reading books teach you anything useful. Best way to learn programming is learning by doing. Treat the book as a reference. Pick something to program. Something that you will really use in your day to day internet surfing. Years back I used to be a manga enthusiast so I wrote a simple program to help me crawl manga sites and index them so that I can read up in my own program without having to wait for the site to load.
Having said that, I think you probably really need to sit down and reflect why do you really want to learn programming. If it's not for a job then what? Are you a mathematician who needs his own bag of trick to do a simulation? Or a biologist who's testing his own model of cellular replication? If you don't have a driving motive, I think you will quickly lose the will to learn. I have found learning for the sake of learning never works except perhaps to please your own ego which will always find something better to do :P.
here's a very subjective suggestion based on my experience. You should focus on learning the language paradigm instead of individual specific languages. You should at least know one OOP language(C#/java/c++ family), one functional language(F#,lisp etc), logic programming language(prolog) and assembly. Learn the concepts behind each major paradigm. These are the things that's gonna stick with you for years, not the syntactic sugar of the latest SQL variant.
And for that particular language you pick, say C#, learn the usual way of doing things. I find that to learn a language syntax is probably the simplest step, may be 1-2 days of reading. but to become proficient at it, you have to know how people do the same thing in that language. you could do a for loop in many ways in C# (linq,foreach,for,done) etc. but in prolog, it is rather awkward to express a for loop if you are thinking in C#.
if you want to be a professional, be familar with design patterns. These are higher level abstractions that simplifies a complex problem into smaller managable chunks which can then be implemented. And the knowledge is transferrable across multiple languages. For example most major industry languages have their own dependency injection libraries.
Yup, there goes my 2cents, in short,pick problem you wanna solve and start solving right now :) stop looking for books to read
Permalink Reply by Haroon1992 on March 24, 2011 at 9:30pm Well, thanks for your suggestion. But if I want to start solving something, i think I must first know HOW to solve it. Shouldn't I first learn how to write a program before solving things?
And I also have another question, is it common that a programmer always keep a reference book (e-book )etc for the particular programming language that he is using?
By reference book, I mean mostly about syntax explanations, functions etc.
And as far as I know, libraries are ones which contains snippets or some form of functions that can be re-used, isn't that right?
I've download enough stuff but I am currently busy with school work that I'll be unable to learn them during these days.
I know what you are trying to say with the "level of interest". But even if this is just a temporary desire to learn programming, I still believe that I'll get at least the basics.
(Just like I did in 3ds Max, I was kinda too addicted to it for some times, then I got bored of it, but all those stuffs I've learned back then are not lost.
If I want to get my hands back on it, I can easily catch up with the basics as its something I've learned before.)
I hope you understand my crappy English.
:D
Regards,
Haroon1992
Regards,
Haroon1992
Permalink Reply by Kyaw Zaw Lin on March 24, 2011 at 10:29pm Well, thanks for your suggestion. But if I want to start solving something, i think I must first know HOW to solve it. Shouldn't I first learn how to write a program before solving things?
You will need to know the basics. but the idea is to help you figure out what to learn. For any useful piece of software, you are gonna be solving many problems, say how to write to a file, how to pop out a message box, how do I send stuff via udp and so on. Then you go to google and search what is the best way to achieve it. It helps you to focus and when things work as you expected it's very satisfying :) cos you are not just solving toy problems.
And I also have another question, is it common that a programmer always keep a reference book (e-book )etc for the particular programming language that he is using?
Google? lol seriously I frequently go back to MSDN csharp language reference. I find internet is the best reference. The problem with books, especially language specific books is they quickly get outdated. A C# book from 2009 is going to be practically useless now. The languaged has evolved so much. Donald Knuth's "Art of Programming" series is very good reference material though. Anyway, the simple answer is no. None of the developers I know and have worked with refer to a book. They just look for answers on the net.
I've download enough stuff but I am currently busy with school work that I'll be unable to learn them during these days.
I know what you are trying to say with the "level of interest". But even if this is just a temporary desire to learn programming, I still believe that I'll get at least the basics.
(Just like I did in 3ds Max, I was kinda too addicted to it for some times, then I got bored of it, but all those stuffs I've learned back then are not lost.
If I want to get my hands back on it, I can easily catch up with the basics as its something I've learned before.)
I hope you understand my crappy English.
I also meddled with 3ds for a while! During my course, I was even thinking of switching major! I think animators and graphic artists have the best jobs cos their work is very visual and easily appreciated by others. But programming and graphic art do not have to be seperate things! Maybe you want to explore demoscene? http://www.scene.org/. Go through their archives and take a look.
And no. I thought you have excellent English :) i wish i could say the same for my burmese though. I find that writing burmese is very very differnt from speaking! even though I speak burmese everyday, i find it very difficult to write. Very embarassing :(
Wayne replied to Aung Than U's discussion Search Engine မွာရွာရင္ ကၽႊန္ေတာ္တို႔ ကုမၼဏီရဲ႕ ၀က္ဆိုဒ္ကို အေပၚဆံုးမွာ ျမင္ခ်င္လို႔ပါ... Asp.net နဲ႔ ေရးထားတဲ႔ ဆိုဒ္ပါ..သိရင္ ေျပာျပေပးၾကပါ senior မ်ားခင္ဗ်ာ.....© 2012 Created by Ko Chit.
