Question:
Which programming should I learn first?
Christian
2015-05-20 12:36:10 UTC
So I just enrolled in a local university for a bachelors in software development and for the first couple of months I have to take a bunch of introductory classes that aren't all related to my degree. I'm also out of school until next term due to a recent family members passing. While I'm out I want to be productive and start learning a programming language but don't know which one I should learn first. Of course I'm going to have to learn all the mainstream languages but I just want to know which language should someone who's never programmed before learn first.
Five answers:
Todd
2015-05-20 13:00:13 UTC
I'm a Ruby fan, but there are a lot of languages to choose from. Since you're going to be learning the mainstream ones anyway, I'd go with Ruby or Python to round out your education. A good programmer has to know several languages, which sounds super hard, but the only thing hard about it is even though they can have vast differences in dialect and programming styles. It's good to know most of them (procedural, object oriented, functional, etc.) along with the paradigms (inheritance, delegation, etc.). The one thing that is key is to learn about scope, i.e. what variable or function is bound to what during the running of the program. That's why testing is important.
no1home2day
2015-05-20 12:59:09 UTC
You will receive a lot of answers, basically they are personal opinions, but let me tell you what this question is like. It would be like asking a carpenter which tool you should buy for your toolkit.



A lot of carpenters use a hammer, but if all you have is a hammer, after awhile, every problem will look like a nail, and you'll try to pound everything. But a good toolkit requires not only hammers, but also screw drivers, and not just one kind of screw driver, but many different kinds and sizes of screwdrivers; and also many sizes of wrenches, and other tools as well.



This same principle is also true of programming. The "One Tool Fits All" philosophy just doesn't work. Each KIND of problem requires a different tool, or even set of tools.



The other problem I see is that you want to start teaching yourself a language, how to program, and that isn't always the best plan either.



You may learn everything about a language, and you might learn how to loop through a sequence of instruction codes (by way of example), but that doesn't teach you which KIND of loop to use, and it doesn't teach you how to (for instance) sort a list of names along with their addresses, and other pertinent information. Likewise, it doesn't teach you how to locate a single record.



A professor in college once told me that knowing a programming language (or 2 or 3) doesn't make you a programmer, any more than knowing basic math makes you a qualified Certified Public Accountant.



I don't want to discourage you, I just don't want you to start off on a dead-end road that makes you want to quit later. If you teach yourself coding, you could possibly teach yourself bad programming habits that will be difficult to unlearn later on.



Generally, in college, a generic programming language (such as C or Pascal, etc.) is used to teach basic programming skills, and in so doing, you learn the skill of programming while learning a language, and once you've learned HOW to program, you can apply that skill to ANY language.



I commend you for your desire to get ahead of the game, but please be careful that you don't "trip over your own shoelaces", so to speak.



Good luck, and "happy programming" to you.
Gemini
2015-05-20 14:20:43 UTC
There is no answer. You should start learning algorithms and start learning C language. Later, you can choose a different language depends on what it is going to be used for.
2015-05-20 23:00:12 UTC
Python is great for someone who's new to programming

python is used by many big companies and groups: Google, Industrial Light & Magic, scientists, statisticians



go here



https://www.coursera.org/specialization/fundamentalscomputing2/37?utm_medium=listingPage



its a series of 6 completely free courses on programming by making games with python



(you only pay if you want a verified certificate -- that means using a web cam when you submit your work to verify it's you doing it -- but if you don't want a verified certificate then the courses are free)



all the courses are taught by faculty from Rice University



here's a link to the first course -- starts in a few days

https://www.coursera.org/course/interactivepython1



these were made with python



this is what you'll make by the end of the second course

https://www.youtube.com/watch?v=bx03ZGntIZM



the good thing about those first 6 courses is that they don't teach just game programming, but they also get a little into the math and algorithms of programming



you learn about

Probability, randomness, objects/references, combinatorics, generators, searching, data structures, inheritance, recursion, sorting, reading files ... and more



and when you've completed all 6 courses you'll be ready to move on to this free online book (full of instructional videos and code)



Program Arcade Games With Python And Pygame

http://programarcadegames.com/



The book was written and is used by a professor for his Introduction to Programming class.

It will go into depth with programming python with the pygame library



this 2nd video above is a game one of his student's made for their final project

https://www.youtube.com/watch?v=S7eMdoM1MTc



nothing too fancy, but pretty impressive for their first game



and then you'll be ready to move onto this free book

it's also in python,

it covers advanced topics in computer science (well, advanced for a beginner -- the kind of stuff you'll learn in your 2nd semester and 2nd year of university)



http://interactivepython.org/runestone/static/pythonds/index.html



programming games is a great way to learn programming because you actually see your progress

it can be fun and therefore keep you motivated



and although professional games are not made with python it is a great choice for learning the concepts of game programming: drawing, keyboard and mouse input, sprites, movement, jumping, bouncing, gravity, physics



knowledge of these are the kinds of things that will transfer to any programming language



as well as reading and writing files, sorting and searching and other things
2015-05-20 12:46:37 UTC
start with C++ or C# it will build the basic logic in your head also it's very easy to learn the basic concept of it, it's totally based on math, after that go to java, python or whatever lang you desire


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