What coding language should I start with?
Thanks
Thanks
http://learnpythonthehardway.org
Go through each less, spending a week or more on each one if you need to. Contact me any time if you run into problems (@zedshaw on twitter is best). I'm not totally done with the book, but you shouldn't run out of exercises for a while.
If you just want to learn programming and logic for the pure interest of the subject, then personally I would go with C or assembly, and tinker with embedded stuff.
OO Java or Python.
So as you can see, it really comes down to what you want to learn it for. I am making an assumption that by mentioning LAMP and Ruby that you are looking for web languages? If that is the case then Ruby, Scala or PHP will suffice.
But, take note, with the way web apps are moving JavaScript is your best bet, as more and more people are dumping the server side web templating languages and implementing their view logic in HTML / CSS / JavaScript.
Personally if I where starting out, I would learn how to build the front end with HTML / CSS / JavaScript and then learn how to implement REST services to supply data to that front end, in one of the aforementioned languages.
But it's kinda whacky as a language, so might lead the learner down a confusing path (if they want to learn any other languages later). Also, the learner's going to get wrapped up in crazy browser DOM nonsense.
That is why I focused so much on what the parent wanted to do. If it is fastest ROI and market place skills, it's JavaScript. If it is to learn the art, then Python or Ruby or the laundry list of others will be a better choice. Then again, web apps are probably not the best place to learn the pure art of code, which is why I suggested embedded, if it is just to satisfy intellectual curiosity.
They are then using server side languages they are comfortable with (in your case Python), to implement JSON services.
It is less "dumping" Python and more using Python to emit and consume JSON.
-MIT open courseware offers a FANTASTIC introductory course using python with video lectures which are nice since I get tired of reading 600+ page books. http://ocw.mit.edu/courses/electrical-engineering-and-comput...
-Another resource that I found very helpful is a book called Head First Java, I'm not really into Java but the first few chapters give a great overview of Object Oriented programming. I wasn't sure what the difference between a class and object were, and I was unsure about other very basic questions. This book answered all of those questions, and it's written in a very entertaining style.
-I'm also reading a book called "using Google app engine" also starts from the beginning, and introduces all the technologies that go into Google App Engine. I found that book on gigapedia.org btw.
-I tried zed shaw's learn python the hard way book. I've only done the first few examples so I don't have an opinion on it yet. But so far I think it's a good resource for short little exercises to learn your way around python syntax, but I definitely needed more of a programming background which is where all the other resources I mentioned above fill in the gap.
by the way i would definitely recommend python over other languages I've looked into because at least as a beginner, python syntax isn't complicated to learn. But if you are interested in learning say Java, there is a Stanford online course that might be good, so just look at their online course offerings.
A final python resource which I found was Guido Van Robot where you basically control a robot in a maze using python. I haven't looked at it too closely yet but it seems entertaining and helpful for the beginner. If you're familiar with Karel the Robot, Guido Van Robot is the exact same thing, except using python. http://gvr.sourceforge.net/
For those interested in Ruby I did find a free book on Ruby and after glancing through a few pages it seems to be written in an interesting way with funny references.
http://en.wikipedia.org/wiki/Why%27s_%28poignant%29_Guide_to...
Yesterday I talked with a friend at Jaspin Interactive and he added some insight into the open source vs commercial coding, pluses and minuses and front end vs back end. Which helped a lot, because knowing what you plan to do down the road most definitely will help your decision.
So here is my plan I'm going to learn the front stuff a bit more HTML, CSS and JavaScript and then move to the back end. I will most likely go with something opensource and see what sticks.
Thank you all for the help.
Scott
From there, I would start by looking at what your goals are first. Why do you want to learn? Do you want to build something for yourself, or others? Is it just for fun or do you eventually want to get a programming job.
For example if you want a good job in my hometown, you end up working in Government. So if someone were to ask me what the best language is for them to get a job, I'd say look at the .NET framework (which is what the majority of our Government uses).
Personally if I just had to throw out a language, I'd say Ruby.
So pick a language (I learned with PHP years ago) and stick with it knowing that you can expand later.
Once you have a foundation of the concepts of software development, you can move around and use different languages and you'll pick them up pretty easily because you will then be working mostly with different sytax.
I wouldn't worry too much about being locked into the language you learn with but I think PHP or Ruby would be good choices.
But for learning things inside out, Java might be a very good choice. Good books, great amounts of algorithms, in fact great algorithm books too. One really good one is Effective Java, sEcond edition. Another algorithm related (short but solid) book is Data structures and algorithm analysis in Java.
Now, don't take me wrong. I might be a little biased, because I find it easier to do a lot more in Java on Eclipse IDE, than anything else.
Started a startup right after MS, didn't go so well. Still stuck in Dallas, TX. Would love to move to CA, but immigration issues plus financial burdens.
I started out as a C++ job in my current company that hired me, with some more AMPL (Mixed integer programming). Read Ruby on Rails book, Agile programmingusing ROR or something by DHH (David heinemeir hanson). Loved it, but found ROR a little limiting for what I am doing. But my day job ended up being in Java. I do prolog hacking, although haven;t really done that in while. And still for fun, and continuing my startup on side, and completing a dream of solving a bunch of NP complete problems in seconds, still using a mix of C#, Excel, PHP, Prolog. Very soon jumping onto Javascript or Jquery probably, since I wanna move into making a real Web GUI, instead of a C# GUI.
So, yeah after all this, I found easiet and very helpful where C# on Visual studio and Java on Eclipse IDE. Loved ROR, found it quite easy too, esp the book is great. For PHP, I still am doing structural coding, although sometime in future I am def reading PHP Objects, Patterns and Practices .
I wish that would help you pick one. Because you sound a lot like me, I was so confused in college, no idea where the world is going. Personally, my research and doing my startup later opened my eyes to the real world. Of course, Paul Graham essays and HN were so much more helpful too.
Of that reminds me, go read PG's(Paul graham) essays first. I think you need to understand programming in general first, the startups and then pick up a language to learn.
Oh, Oh, MUST READ for you....I wish this came out when I was in high school or early college.
This will give you a little more perspective.