Question:
What programming languages should I learn if I want to be a computer programmer?
anonymous
1970-01-01 00:00:00 UTC
What programming languages should I learn if I want to be a computer programmer?
Nine answers:
Lie Ryan
2009-12-23 07:36:21 UTC
There are thousands of programmers in the world, only a few are good ones. If you want to be a good programmer, you've got to be language agnostic; if you learn the fundamentals you can apply them to any programming languages. Once you've got this sorted out, you can learn new languages in a few days.



If I have to suggest, you'd need to know at least one language from each of the three major paradigms:

- OOP/Imperative: Java, C/C++, Python, BASIC

- Functional: Haskell, LISP/Scheme

- Logic: Prolog

(go to wikipedia for more)



And you've got to know some DSLs (domain specific languages) as well like SQL (database query), regular expression (string matching), parser's grammar (parsing text), etc. Some knowledge of common file formats are also useful, I see you know of HTML, others includes XML, CSV, etc.



It'd be useful to learn about these topics (choose whichever interests you):

- AI: learning computer/neural net

- human-computer interaction

- 3D/2D geometry

- finite state machine

- algorithm analysis: Big-O complexity, NP-completeness

- design patterns: 90% of the time your problem is not unique and have already been solved by others

- graph theory: arrays, trees, and graphs are very common data structure

- unit testing: test-driven development (write tests before writing code)



Don't be bound by Java. Java is a very OOP language and doesn't really facilitate you to write in other methodologies. In Java, you've got to go through hoops to write higher-order function



And I agree with one of the previous poster: Have Fun.
?
2009-12-23 07:17:01 UTC
The answer is, it depends.



The most important thing to learn at this point is the basics. One can do that with just about any language, although some more difficult than others.



I will say that most intro courses for computer science at universities largely start teaching basic concepts about programming in Java or C++. These two are more than sufficient to learn basics and data structures.



I am partial to Java, as there are *tons* of free online resources -- examples, tutorials, tools, etc.



I suggest sticking with Java -- check into the eclipse IDE, as it is robust, free, and one of the industry standards.



And to address the "cold fusion" comment, as a professional software engineer, I always do my best to stay away from proprietary technologies. They create a "lock-in" and cost money to use in an enterprise setting. An alternative to CF is the JSP/Struts/Java stack.



A good thing to do for you at this point, would be to find one of the texts that is used for a college introduction to programming, and work through all the exercises.



As you progress, think about looking into "design patterns", "unit testing", and learning languages in other "programming paradigms".



Finally, if you are to be a real good programmer, math and science are a must. Plan on beefing up in these subjects in high school and beyond.



Oh yeah, and this *is* important, don't forget to have fun!



Hope this helps.
anonymous
2009-12-23 07:10:05 UTC
I'll let others answer when it comes to high level languages, but you may want to get a bit of assembly language under your belt. Assembly language forces you learn exactly what's happening with your code, you're coding directly to the CPU. Knowing assembly language allows you to know how the code in high level languages works, so you're not just writing code, you know exactly what it's doing and what is the best code to write in certain instances.



Having written what I've written, you don't have to master assembler, just learn its ins and outs. Now, I'm sure you've been told that assembly language is almost impossible to learn, use, and maintain. Not true. Start by checking out a couple of web sites. Then get yourself a book or two; play with it. It'll grow you you. You will love the power of it. You can do anything with assembler. Anything.
anonymous
2016-04-11 06:21:24 UTC
Learn it on your own. When you learn a programming language its better when you motivate yourself to do things then to be forced to. Also, from going to school for CIS, I can say that the professors I have had did not have much knowledge on subject matter and after a short time it was easy to bypass the instructors abilities (granted I didn't go to the best possible school for computer related majors, but that was just one of my majors so it was where I ended). The key is finding good resources for the language you are learning. If you are looking to learn a programming language first identify the style in which you learn best from, whether its really wordy text or a book that has lots of examples but little theory. From there search book reviews or ask questions on this. If your looking to start try php(web-based apps) or vb(various apps - I've made games, vba apps, and others with it when I started out), they will introduce you easier then some of the other languages. (ie java which can be frustrating with no programming experience)
Neeraj Yadav♄
2009-12-26 13:37:13 UTC
Thats good if you have interest in Java.



Yes,i just agree with "Two Pi" as java itself is vast in order to achieve proficiency you need to be practically working with java for years.





Now back to the business,you will be pleased to know that every big companies,banks,solution providers uses Java frequently as preferred programming language for writing there business logic.

Java gels well with many other open source technologies and lots of R&D keeps on happening for

java and j2ee related technologies so far(Although its uncertain by Oracle acquiring sun microsystem everybody is confused about future of java at the moment a year or two will suggest what way will it go).



I will suggest you to continue with Java..and add more skills in java-server-side technologies like jsp/servlets and jdbc.Being good at html will be helpful too ,although it will not be enough if you are cant do javascripts as it brings dynamics to your application.

Further,move on to Enterprise Oriented /Aspect programming frameworks like struts,spring hibernate so on.



In short if you wanna be Java progm'r you need knowledge of

i) java

ii) javax/j2ee- servlet jsp ejb jms

iii) Html ,javascript,ajax etc

iv) JDBC,RDBMS(Oracle,Sybase,Mysql,Postgresql etc.)







Further ,you will have many other branches of technologies depending on you nature of work.



get good tuts at

http://www.roseindia.net

http://www.java2s.com

http://www.jguru.com

http://www.programmersheavan.com



I do advocate Java/Related technolgies doesnt me i dont give respect to other programming language As matter of fact some of others programming languages have their own fruits and comforts.PHP rocks! at the moment as php/mysql leads to cheaper hosting and easily adaptable,open source support worlds 80% + websites are hosted in this technology.



.net technologies can promise you good jobs and its equally good as java(competitor) and it can give stability as at the moment java future is uncertain.



Depending on what you wanna do in future you can pick any

1) Freelancer : Prefer to have open source cheaper technologies like PHP-Mysql,Java too



2) Job in Big firms: Java/J2EE has the most of the jobs,Database adminstartor,Server admin.



3) Closed Source and Stability: Microsoft technologies like .Net,C#,Mainframes (Cobol,DB2,etc.)









Hope this helps

Cheers:)
anonymous
2009-12-23 07:23:39 UTC
heh asking that question m8 would be like asking us what vehicle is right for you :)

i dont think TECHNICALY THERE IS A BETTER for example microsoft rules the world yet mac still sells?? some people like mashed potatoes others baked potatoes :D

heh but if you want a EASY way to START to learn programing look into .bat files theyre VERY simple, straight forward and you can find MANY unwanted books in antiques for them :)

next i would PROBABLY look into C++ its a bit old as well many writers use it, so you can find help

someone above suggested visual basic (thats what my college would start you off with) *i didnt like it though hehe so back to my first statement m8 everyone has theyre own taste :D
Jack M
2009-12-23 07:03:20 UTC
Strt with Visual Basic 2008

http://www.microsoft.com/express/vb/Default.aspx



FREE



Find some tuts on yputube.



Then get into C+ C++
?
2009-12-23 07:02:27 UTC
Definitely ColdFusion. It's MUCH more secure, as well as much easier to code in than PhP, and the demand for CF coders is very high.



It's a tad harder to learn because not as many people use it, as everybody uses Php. Taking the time though, is well worth it.
anonymous
2009-12-23 09:35:29 UTC
Wow. You're great at Java?

I wrote my first book about Java the year you turned 2, and I've taught it for many years. I'm still not great at Java.



I wonder if you actually mean JavaScript....

I've written two books on that, and I'm good at it, but still not great.



It's waaay too early to worry about what language you'll be using professionally. First of all, the language that will be hot when you're ready for the job market may not exist yet. Second, programming is about a lot more than languages. Learning how to think like a programmer is difficult. Learning new languages is not.



My advice: Get ahold of a real programming language (I don't care which one) and take it as far as you can, then go farther. Build some projects. Games are good (they're much harder than many other kinds of programs) Once you get good at one language (should take years, really) pick up another one and compare. I really like the combination of Python, Java/C++, and C. They give you a very nice feel of the range of languages in popular use. If you need a job, learn some PHP/JavaScript and MySQL as well as XHTML and CSS. You can't make a good living as a web designer these days, but a web programmer can do pretty well. Explore some of the other paradigms: functional programming is worth understanding even if people don't use it that much.



Don't get too excited about how much you know based on the people around you. It doesn't surprise me that you know a lot more about computing and programming than anyone in your high school. That's really not that hard to do. You're in for a big shock the first time you meet a computer science prof who isn't as impressed with you as every other adult you've shown a web page to.



Look into a bachelor's degree program in computer science. There are plenty of other easier ways to get some programming knowledge, but none of them have the depth and applicability of a true program in math-based CS. A good CS program gives you enduring fundamentals that will serve you long after specific languages come and go.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...