|August 11th, 2016, 06:19 PM||#21|
Joined: Aug 2016
From: San Diego
Python is a great language to learn tbh because its one of the easiest programs to learn/read for newcomers, extremely flexible, and it takes less time to write a program.
If you want a language that is a bit more challenging to learn but still pretty high level (as opposed to C and FORTRAN which are low-level languages that are much closer to the hardware, and thus more difficult for a newcomer) is Java. Java is pretty close to C++ in terms of syntax, and once you got a good bead on Java, diving into C++ will be less painful for you.
But I honestly would recommend that you learn multiple languages since Python and Java complement each other quite well, but just dip your toe in the pool by learning Python for now.
Here's an awesome site that will teach you the fundamentals of programming; play around with it a bit; it's pretty useful.
Last edited by Arclight; August 11th, 2016 at 06:24 PM.
|August 12th, 2016, 03:53 AM||#22|
Joined: Apr 2014
Math Focus: Physics, mathematical modelling, numerical and computational solutions
When first learning a programming language, you want something with
1. simple and common syntax
2. quick and accurate error reportage
3. an exposure to functions/methods that deal with memory management
4. simple data types
The reason for this is that the main aim of teaching computer programming is to communicate to your pupils about how the syntax written in a computer program translates to machine actions as clearly as possible. Only once those concepts are firmly understood should someone start experimenting with the convenient languages for specific purposes.
In my experience, scripting languages (Perl, Python, Lisp, Ruby, etc) are horrible as starting languages because there are considerable behind-the-scenes window dressing. For example, Python does not use basic data types (like integers, floats, strings, etc.) and instead uses an object that imitates the behaviour of those data types. It also has its own assumed white-space management, garbage collection and pointer semantics. It is also not declarative.
This leaves procedural languages, but you want to pick something that is at least relevant to modern programming. BASIC is not a bad option, but it often includes some outdated syntax, like the "LET" operator for assignment. Assembly languages are interesting, but are probably too low-level for students.
That leaves C and FORTRAN. I would maybe suggest C++ or C# rather than C so you can transition easily to object-orientated programming. For FORTRAN I wouldn't touch object-orientated programming with a barge pole (seriously... don't go there).
|August 16th, 2016, 12:30 AM||#23|
Joined: Jan 2016
From: United States
Also to answer this threads question, while I don't know anything about Fortran or what you're going to learn it for, a lot of concepts carry over between programming languages. The one that takes the most work to learn is usually the first you learn since you're not just learning the syntax but also the core concepts of programming and computer science. Once you move on to learn another programming language it's a lot less about learning concepts and a lot more of just remembering the languages syntax and subtleties. If you're going to be doing a lot of programming throughout your life make sure that you either learn a language which uses object oriented programming, or implement it in a language that doesn't naturally support it. If that's not the case and you just need to learn Fortran for a specific class or situation, then learning Fortran or some similar language first would be fine.
I'd also recommend to obtain a good textbook, or coursera course on whatever language you end up choosing. It can be tempting to use a lot of the youtube tutorial series to learn, but they usually just give the illusion of knowing, since they don't necessarily get into the specifics and small things of the language. (I speak from experience here >.<) good luck
Edit: Oh... and also many universities use either java or python as their programming language for introductory courses (atleast here in the states). They are both pretty beginner friendly, although that doesn't mean you can't start with a different one. Whichever you end up choosing just make sure you properly memorize the syntax. You have no idea how many people in my school try to initialize an integer variable in java as: string double x = 4; In their final exam...
Last edited by GumDrop; August 16th, 2016 at 12:35 AM.
|language, learn, programing|
|Thread||Thread Starter||Forum||Replies||Last Post|
|Basic programing - truncate a number||Melody2||Computer Science||6||October 27th, 2013 07:35 PM|
|embedded programing pros and cons||fredfmah||Computer Science||4||November 28th, 2012 12:38 AM|
|Linear Programing||zoidberg||Linear Algebra||0||December 11th, 2010 11:24 PM|
|Linear Programing problem||dha1973||Economics||0||December 9th, 2009 10:28 PM|
|Linear programing word problem||JudaStar||Linear Algebra||2||February 20th, 2009 01:34 PM|