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

 

Views: 10

Reply to This

Replies to This Discussion

Recommended Programming Bookshelf:

http://pragprog.com/

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.

>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

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

 

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...

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

You should scan over the ToC of How to Become a Hacker. Than you will know why we gave you that link. In many ways a programmer is a hacker. There are some differences. A hacker is a programmer who wants to solve interesting problems. A programmer is someone who solves problems (where the problem being interesting, relevant or redundant is never considered). They are both programmers though. Just that we want everyone to be a hacker rather than a programmer. A Hacker is not a person who is interested in breaking into other peoples computers or interested in other illegal activities. That would be a Cracker. Sadly the media never gets it right. When someone breaks into your computer, they call it "Got hacked in". Now every time a computer got broken into, it would not be a hack. It would only be a hack if the intruder broke into it in ways that were really smart. And not just that, if the person broke into it used really cool ways to do it but did it for illicit purposes like selling your data for money, than that is not a hack. That is a crack. A hacker is a programmer who truly knows his stuff and has the right spirit.
Thanks, this further explains about hackers.
And I am not saying hackers are crackers, I am just saying "give me something easier".
I think a simple start is a good start. I've already download several wiki pages concerning many programming languages.
And I was surprised when I saw the list of programming languages, there must be more than 100 of them!

My aim is NOT to become a professional programmer, I just want to be an enthusiastic programmer.
I scratched the plan to learn Python, because it looked like it is linked to many other high-level programming languages, one of which I will be learning first.

By the way, are you an Indian (hope this is correct for people in India) ?
My grandmother's mothers from India. And I understand about 60% of daily-talked "Tamil" language.

:)

Best Regards,
Haroon1992
I am a Yangonian and person of Indian origin since my fore fathers came from there. Good luck with your language.

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

 

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

 

 

 

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

 

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 :(

RSS

Latest Activity

Joe commented on Hein Min Htet Kyaw's group Microsoft Certified
19 hours ago
Joe joined Hein Min Htet Kyaw's group
19 hours ago
kyisoetun posted a status
"လတ္ထပ္ၿပီးစီးျခင္း"
20 hours ago
kyisoetun posted a status
"လတ္ထပ္ၿပီးစီးျခင္း"
20 hours ago
kyisoetun posted a status
"ကၽြန္ေတာ္မိန္းမ"
20 hours ago
sungelay left a comment for Steve_Maung
22 hours ago
Profile Iconyenaungkyaw, yu nandar, sayapaing@gmail.com and 16 more joined MyanmarITPro - A Social Network for Myanmar IT Professionals
22 hours ago
Jake commented on Jake's blog post Online Payment - Part 1 (Zawgyi font)
22 hours ago
Wai Lynn Oo commented on Jake's blog post Online Payment - Part 1 (Zawgyi font)
yesterday
Nyi Nyi Aung replied to Nyi Nyi Aung's discussion iPhone 4S GSM Signal Loss
Saturday
Nyi Nyi Aung and Arakan Tinwin are now friends
Saturday
U Win Myint posted a discussion
Friday
Wayne replied to Aung Than U's discussion Search Engine မွာရွာရင္ ကၽႊန္ေတာ္တို႔ ကုမၼဏီရဲ႕ ၀က္ဆိုဒ္ကို အေပၚဆံုးမွာ ျမင္ခ်င္လို႔ပါ... Asp.net နဲ႔ ေရးထားတဲ႔ ဆိုဒ္ပါ..သိရင္ ေျပာျပေပးၾကပါ senior မ်ားခင္ဗ်ာ.....
Friday
Moe Lay liked manawphyulay's blog post အင္တာနက္သံုးျခင္းျဖင့္ ဘာေတြအက်ဳိးေက်းဇူးရရွိေစမည္နည္း
Friday
Aung Than U posted a discussion
Friday
Aung Than U replied to Aung Than U's discussion For Joomla module
Friday

© 2012   Created by Ko Chit.

Badges  |  Report an Issue  |  Terms of Service