Tuesday, July 28, 2009

What is the best way to get started learning a computer language?

currently,


- Python looks popular, but I keep hearing





" go with c++, dude, you'll get more out of it"





of course, there's also Java, PHP, and others...





- just need to get started - currently know html/css... any


"transition language" out there?





any ideas?





my goal would be to make a simple program *gui - with buttons opening up various programs -


eg: a shortcut program (hopefully nice looking aswell) :D





-well, that's my goal :) any help would be appriciated!





(oh yeah, and my question is still - how do I get started learning a programming language - to accomplish my goal? )


thanks


-Geometricfigure

What is the best way to get started learning a computer language?
Congrats on wanting to get started in the field!





First of all, the "best" way is hard to define! "Best" for you might be "fastest to 'Hello World!'". Or "Best" might mean "learning the best programming practices in use today". As someone who does this for a living let me give you my shot at it.





First, C++ is a great language but not a good "learning language". Especially since you are a web guy... you are used to seeing things on the screen pretty quickly.





Now if you want to leverage where you are at right now and jump into some code quickly, you can start writing PHP and JavaScript with the tools you have already. PHP 5 is a pretty good language for learning. It's a forgiving language in that it is not strongly typed but it is also pretty powerful and you can even do some object oriented stuff in it.





If you are determined to do a desktop program and learn that way, I would recommend either Java or C#. Both of those languages will get you to a GUI faster than Python or C++ will. There are several good IDE's for Java out there that are OpenSource and MS has the "express" versions of their Visual Studio IDE's available.





I would recommend staying away from Visual Basic unless you want to write ASP.NET pages in Visual Basic. For some reason that field is still pretty active but other than that, VB is a dying language. If you learn it on a desktop you will spend the next couple of years unlearning eveything you learned in VB ;)





My gut feeling is that you would be better off with C#... it's a very solid language and typically the Visual Studio IDE's make creating GUI's very intuitive. If you are a hard core MS hater than grab NetBean, Eclipse or another Java IDE and write a Java Swing app... it'll get you there pretty fast.





Now... how do you get started? Again.. a lot depends on YOU. If you can read a book and learn that way then go to Amazon.com and order a good programming book. What kind of book? Depends on how you learn. Language reference books tend to give you the details of the language but are very light on how to use it. Other "how to" books tend to range from "press this button and then click here" to "Open the IDE and create a project". I recommend reading some reviews of the books on Amazon before buying anything... they will tell you a lot about what kind of book it is and you can judge what kind of book you prefer.





Obviously there are a ton of resources on the web so don't neglect Google. And if you want to spend some time in a classroom check out a local community college. Sometimes they offer programming courses pretty cheap and you can get your feet wet pretty quickly. You won't learn a lot past beginner stuff in a class room but it might be the best way for you to get started!





Hope this helps... feel free to email me if you want more specifics on resources on the web.
Reply:Well for GUI applications Languages like Java,Visual Basic


do very well.But JAva is relatively tougher.


So VB can be chossen if U hav no programmin background


But if U need to make web designs,then U can go for HTML,its very easy.


So just go for any one..


TC
Reply:1st, as you already know, you gotta pick a language. And that completely depends on what you want to use it for, and for what platform (Mac, Linux, Windows). While any of those languages can drive websites, most people think of PHP, Ruby, and Java (specifically JSP) as "web languages." There's also the problem with libraries, like for drawing widgets (buttons, windows, etc). Each operating system has its own preference and/or bundled libraries (GTK/Qt if on Linux, Forms for Windows, etc). Therefore, there's not only learning the syntax of a language, but also what you can access and do with that language. .NET (Dot Net) tries to solve this by allowing many languages (especially C#) easy access to a large, mature set of libraries.





However, if this is your first [programming] language, the difference between a language's syntax, core functions, bundled and 3rd party libraries shouldn't be of interest (yet). In that light, I, with the rest of many universities, would recommend Java. There are many many many resources (on the web, free and in paper, not free) to aid in the mundane to the complex.





Python is great, and so is Ruby. PHP can also be in the ring. However, they are generally used by universities to teach theory (algorithmic design, OO, etc), leading up to software development. I'm assuming you, on the other hand, would prefer to dive right into building applications. Think of it almost like learning to play piano - you can either start learning really cool, popular songs that dont require much skill, and build up, or you can spend a long time learning and mastering technique so that you can eventually play Liszt (or whatever). I'm not saying by learning Java first you will never be able to be a professional software engineer (not at all) - just that it's usually best to be patient and learn the theory first (which python, et al are better for than Java). And that's because you'll have to later unlearn bad habits.





C++ and C are not good options as first languages. C#, however, might be, but I don't know it (yet) so I can't comment. They say it's very similar to C++ and Java (powerful like C++ but as easy as Java). Yes, C++ will get you far, if that's what your career's going to be, but it's not a good option for a first language.





Java is your best bet, I think. You might want to start with this free tutorial site (from Sun, the creators of Java): http://java.sun.com/docs/books/tutorial/ . It's pretty good, and there's the Java API, which is my bible (when doing Java).





It's all about using the best tool for the job, and Java is a pretty good multi-use tool. But, more importantly, you'll get cool results sooner with Java (instant gratification), which will make you more confident and make programming more fun. And once you're having fun and learning alot, you can move on to the other languages. It gets easier each language you learn.
Reply:I'd actually start with HTML as it is easy and simple to learn, and can be used for many things other than making a website.





It will familiarize yourself with syntax, simple mistakes such as forgetting a symbol. Also it will help you make your own style of writing code; such as using spaces for better organization.





After learning HTML I would go with any of the C+ languages.





Getting a book on Amazon.com will teach you a lot about HTML, but HTML coding is so popular you could probably get by with just tutorials on the web.
Reply:I would reccommend a server side web programming language such as c#.net or vb.net (under the auspices of asp.net), or php. Any of those 3 will get you headed in the right direction, and they will offer some farmiliaraity since they're half html %26amp; half programming. Getting an educational copy of visual studio 2005 is the easiest way to go, since it contains its own webserver. You write your code %26amp; you don't have to get confused by setting up the server %26amp; all that crap. You just push f5 on the keyboard %26amp; it starts a server, loads your project on it, and opens your web browser to what you've made.





My favorite starters book for programming is vb.net the complete reference by osbourne publishing. You should be able to find copies of it on ebay or amazon for $3.








Stay away from old languages, and dying languages. c++ had its time, but its only good for hardware programming. Its not exactly the easiest language to learn either. Java isn't terrible (and its a fine learning language with many excelent free online tutorials), but its losing market share very fast to other languages. Its only holding on because its free. I'd rather work with something that's good %26amp; costs a few bucks than something that's free %26amp; crappy any day.





As a final thingy... Check out www.asp.net They have a lot of resources on the whys and the hows. They have tutorials, videos, and a free development environment. If you need in depth programming help... there's always www.msdn.com for the docs.





i also enjoy the videos at learnvisualstudio.net (pay site).





If you want to see a programmer in action, check out www.dnrtv.com They have a lot of sessions where you can see them noodling in code %26amp; explaining what they're doing as they're doing it (free)
Reply:Ask An Expart And Get professional help


at





http://www.geocities.com/programinghelps


http://directdegree.info
Reply:I would say try learning Visual Basic. It's just a start to get the basic concepts and get an understanding of programing. It's easy %26amp; can be fun to start with. Making drawing programs and the like. From there you can link them to access databases to create fun calculation GUIs.





Yay!


No comments:

Post a Comment