Jump to content

Where Can I Learn To Program For Free!? What is best lang too?

WolfLoverPro

Uhm...

 

https://www.learnpython.org/

 

Python is a good language to start with. HTML is stupid, you'll never use it. C++ and C# are a bit more complicated.

 

If python is too complicated for you and you just want the absolute basics of programming, google how to program in QBasic. It's old, outdated, and pretty much useless now-a-day, but it's SUPER simple. Like commands are super simple, print, read, write, etc. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 2/8/2019 at 10:37 AM, Dat Guy said:

Don't. Python has a lot of syntax quirks, and by "a lot" I mean "the whole Python language is a syntax quirk".

Learn Lisp (Racket or Common Lisp), Pascal/Delphi, Perl or (if you're like me) C instead. :)

 

Unless job security is what matters most to you (see the graph above) - in this case you might want to learn COBOL, COBOL developers have a lifetime job security these days. But COBOL is an acquired taste.

Python is a syntax quirk yeah, but pretty much all of the other languages you listed (except for C) are either dead or close to dead. Like... Pascal... really???

 

I'd stick with Python, it forces you to write 'pretty' code and switching to another language should be doable with some effort

75% of what I say is sarcastic

 

So is the rest probably

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, corrado33 said:

Uhm...

 

https://www.learnpython.org/

 

Python is a good language to start with. HTML is stupid, you'll never use it. C++ and C# are a bit more complicated.

 

If python is too complicated for you and you just want the absolute basics of programming, google how to program in QBasic. It's old, outdated, and pretty much useless now-a-day, but it's SUPER simple. Like commands are super simple, print, read, write, etc. 

I use HTML quite a bit, since I am a web developer, so this is not accurate.

 

HTML (and CSS) is however not a programming language.

75% of what I say is sarcastic

 

So is the rest probably

Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, myselfolli said:

pretty much all of the other languages you listed (except for C) are either dead or close to dead.

Just because hipster millennials despise a language because it's not Something 2.0 by default, it is not "close to dead". Yep, even Pascal is quite a common language.

 

28 minutes ago, myselfolli said:

it forces you to write 'pretty' code and switching to another language should be doable with some effort

1. Are you aware of the Obfuscated Python Contest?

2. Learning other languages from Python is much harder than learning Python last.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, Dat Guy said:

Just because hipster millennials despise a language because it's not Something 2.0 by default, it is not "close to dead". Yep, even Pascal is quite a common language.

 

1. Are you aware of the Obfuscated Python Contest?

2. Learning other languages from Python is much harder than learning Python last.

I am not a hipster millenial and I don't despise any of the languages, but I do still think that they are on their way out. I did actually learn Pascal in school and not only did it not help me with any of the other languages I learned later on, I was even lauged at when I listed my Pascal 'experience' on CVs when applying for a job. I'd say that is usually a good sign for you to forget the language and definitely not learn it, which is what OP is trying to decide on.

 

Yes, the languages do still have their place, but said place is dwindeling, since they are usually only found in legacy applications which will be replaced sooner or later.

 

And while I was not aware of the contest you mentioned, I still think my point stands. For any non-power user python will force you to write pretty code. And I don't know if it's harder to learn Python first and then switch to another language (since I didn't, I did it the other way around), but I never said it would be easy, just doable.

 

Python does have its flaws, but I still think it's a good jumping off point for OP to get into programming, since it's flexible and there are a lot of tutorials online.

75% of what I say is sarcastic

 

So is the rest probably

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, myselfolli said:

I was even lauged at when I listed my Pascal 'experience' on CVs when applying for a job. I'd say that is usually a good sign for you to forget the language 

Or that your employer sucks.

 

Sure, for scripting tasks Pascal (and C) might be way too much, but (e.g.) Delphi drives a few popular file managers for good reasons.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, myselfolli said:

I am not a hipster millenial and I don't despise any of the languages, but I do still think that they are on their way out. I did actually learn Pascal in school and not only did it not help me with any of the other languages I learned later on, I was even lauged at when I listed my Pascal 'experience' on CVs when applying for a job. I'd say that is usually a good sign for you to forget the language and definitely not learn it, which is what OP is trying to decide on.

 

Yes, the languages do still have their place, but said place is dwindeling, since they are usually only found in legacy applications which will be replaced sooner or later.

 

And while I was not aware of the contest you mentioned, I still think my point stands. For any non-power user python will force you to write pretty code. And I don't know if it's harder to learn Python first and then switch to another language (since I didn't, I did it the other way around), but I never said it would be easy, just doable.

 

Python does have its flaws, but I still think it's a good jumping off point for OP to get into programming, since it's flexible and there are a lot of tutorials online.

 

9 minutes ago, Dat Guy said:

Or that your employer sucks.

 

Sure, for scripting tasks Pascal (and C) might be way too much, but (e.g.) Delphi drives a few popular file managers for good reasons.

It’s hard to learn another from python? But I just started so what I should learn another one then or 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WolfLoverPro said:

 

It’s hard to learn another from python? But I just started so what I should learn another one then or 

The 'problem' is, that Python handles a lot of its syntax differently, the basic concepts of programming still apply.

 

You don't have brackets to encapsulate segments for example, you have to use the indentation of the lines.

75% of what I say is sarcastic

 

So is the rest probably

Link to comment
Share on other sites

Link to post
Share on other sites

The problem is that Python is very special. Unlike C, Python does not have much in common with other languages - except some of Lisp, that is.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, myselfolli said:

The 'problem' is, that Python handles a lot of its syntax differently, the basic concepts of programming still apply.

 

You don't have brackets to encapsulate segments for example, you have to use the indentation of the lines.

Yeah but that’s easy to get used too 

 

I remember starting c++ or I think it was you wrote inside () like def function(Code here)

 

where python is  was

 

def function()

    Code here

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Dat Guy said:

The problem is that Python is very special. Unlike C, Python does not have much in common with other languages - except some of Lisp, that is.

This is true, but the syntax is only a minor part (arguably the easiest part once you get past a certain point) of learning to program. Learning how to structure logic is the most important part of learning to write software, and python is a perfectly fine place to learn that.
 

1 hour ago, WolfLoverPro said:

It’s hard to learn another from python? But I just started so what I should learn another one then or 

Python is perfectly fine to start with. It's harder to learn how to drive a race car if you started with a simple sedan, but that doesn't mean you can't learn the basics of driving with the sedan. You COULD start by learning on the racecar, and in some cases that's a good idea, but it's not something you should do just because.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, myselfolli said:

I use HTML quite a bit, since I am a web developer, so this is not accurate.

 

HTML (and CSS) is however not a programming language.

Agreed, but for general programming (not web development) HTML is useless. :)

 

1 hour ago, Dat Guy said:

The problem is that Python is very special. Unlike C, Python does not have much in common with other languages - except some of Lisp, that is.

I don't think it's very special. I'm a hobby programmer and I learned C++, Pascal, Fortran, and QBasic (yes I'm old) in school. I picked up python immediately without even going through any learning program. If you program "neatly" (with correct indentations) in all languages, python will be very easy for you. The only real difference for other languages is that most other languages have brackets around everything. And python doesn't really have... arrays, just lists, or lists of lists. That's really the main thing that annoys me. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, WolfLoverPro said:

 

It’s hard to learn another from python? But I just started so what I should learn another one then or 

Learn a language that you won't easily give up. I just feel python is the best in this regard because it has so many fun modules to play around with. You can quickly make a python reverse shell for example to control other computers within the same network. It's pretty cool. 

 

Compare to C++. You need to learn so much and write so many codes just to do something interesting. You will get bored and give up before even learning how to code a hello world. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, wasab said:

Compare to C++. You need to learn so much and write so many codes just to do something interesting. You will get bored and give up before even learning how to code a hello world.  

What?

#include <iostream>
  
int main()
{
  std::cout << "Hello world!" << std::endl;
  
  return 0;
}

Or, more pythonically:

#include <stdio.h>

int main()
{
  printf("Hello World!\n");
  
  return 0;
}



But I do agree. Some of pythons things are mildly weird (For example, if one learns how name mangling works, then one realizes that python doesn't actually support encapsulation), but by and large it's a valid language for beginners to learn. The algorithms and general concepts that one learns in python will last for years to come and are valid in any language, even if their expression differs.

 

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

46 minutes ago, straight_stewie said:

What?


#include <iostream>
  
int main()
{
  std::cout << "Hello world!" << std::endl;
  
  return 0;
}

Or, more pythonically:


#include <stdio.h>

int main()
{
  printf("Hello World!\n");
  
  return 0;
}



But I do agree. Some of pythons things are mildly weird (For example, if one learns how name mangling works, then one realizes that python doesn't actually support encapsulation), but by and large it's a valid language for beginners to learn. The algorithms and general concepts that one learns in python will last for years to come and are valid in any language, even if their expression differs.

 

Let's see. You need to figure out what :: means. You need to figure out what iostream is. You need to figure out what std is(hint, it's not sexually transmitted diseases), you need to figure out what << is, what cout is. You need to figure out what return 0 means and what int main is. 

 

If you do printf. You need to figure out you are writting C. 

 

in python, it is print("hello world") you just need to figure out you are printing a string. That's it. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, wasab said:

Let's see. You need to figure out what :: means. You need to figure out what iostream is. You need to figure out what std is(hint, it's not sexually transmitted diseases), you need to figure out what << is, what cout is. You need to figure out what return 0 means and what int main is.  

  • Namespace access operator. Ostensibly, it is equivalent to the "\" in file paths, or the namespace member access operator "." in more modern languages.
  • iostream, stdio, algorithm... You have to import things in python as well. For the classic example: "import random" is the same sentiment as "#include <random>. (well, very nearly).
  • The only thing that's different is the "<<" and ">>" stream operators, but python has streams too. It's just that, instead of writing directly to the stream with a special operator, you use a stream objects members: you say "MyStreamObject.Write("my string")", or very similar. One could, however, override the bitwise shift operators for stream objects and end up with identical syntax to C++.
  • You also have to figure out what "return" means in python, otherwise you could only ever have void functions.
  • You also have to figure out function declaration in python, otherwise you couldn't ever have any functions. What makes "def name(params):" any easier than "type name(params){}"?
  • What makes "if __name__ == "__main__":" any better or more easily understood than the standard entry point "int main(){}"?

I mean, I totally agree that C++ is not a good beginners choice. But to say that it's not a good choice because it requires learning how to do things before you can do them is silly: That requirement is there for every language, from A# to Z++.

C++ is not a good beginners language because it makes certain things harder. For example: in python if you want an easy to use "array" you just, make an "array" (list). In C++ you have to choose between a C type array and a std::vector. In C++ if you need a C type array as a public field in a class and the size of that array is unknown at compile time, then you'd better learn about pointers and the difference between the stack and the heap. In python, you just make a list a public field of the class. In C++, if you have to create something at runtime, you have to delete something at runtime, in python you don't even care about what "runtime" means.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, straight_stewie said:
  • Namespace access operator. Ostensibly, it is equivalent to the "\" in file paths, or the namespace member access operator "." in more modern languages.
  • iostream, stdio, algorithm... You have to import things in python as well. For the classic example: "import random" is the same sentiment as "#include <random>. (well, very nearly).
  • The only thing that's different is the "<<" and ">>" stream operators, but python has streams too. It's just that, instead of writing directly to the stream with a special operator, you use a stream objects members: you say "MyStreamObject.Write("my string")", or very similar. One could, however, override the bitwise shift operators for stream objects and end up with identical syntax to C++.
  • You also have to figure out what "return" means in python, otherwise you could only ever have void functions.
  • You also have to figure out function declaration in python, otherwise you couldn't ever have any functions. What makes "def name(params):" any easier than "type name(params){}"?
  • What makes "if __name__ == "__main__":" any better or more easily understood than the standard entry point "int main(){}"?

I mean, I totally agree that C++ is not a good beginners choice. But to say that it's not a good choice because it requires learning how to do things before you can do them is silly: That requirement is there for every language, from A# to Z++.

C++ is not a good beginners language because it makes certain things harder. For example: in python if you want an easy to use "array" you just, make an "array" (list). In C++ you have to choose between a C type array and a std::vector. In C++ if you need a C type array as a public field in a class and the size of that array is unknown at compile time, then you'd better learn about pointers and the difference between the stack and the heap. In python, you just make a list a public field of the class. In C++, if you have to create something at runtime, you have to delete something at runtime, in python you don't even care about what "runtime" means.

  • You do not need to know accessor to print hello world in python
  • You do not need to know any imports to print hello world in python
  • You do not need bitwise shift or anything to print hello world in python
  • You do not need to know what return or function is to print hello world in python
  • You do not need to figure out what def is to print hello world in python
  • You do not need to write if _-name_- or whatever to print hello world in python  

In python, it is just print("hello world")

Literally thats it. No brackets, no function, no imports, no namespace, no scopes, main, classes, and any of that craps. Just print("hello world") and bam! 

Tell me why do you disagree that you need to learn a whole lot before you can do anything useful with C++ again? 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, wasab said:

Tell me why do you disagree that you need to learn a whole lot before you can do anything useful with C++ again? 

Trivially, your entire sentiment about being unable to do things until you learn them is silly. Of course you can't successfully do anything until you learn how to do it successfully, that's just common sense...

 

As for my specific statements about why I think it's a little silly to say that doing basic things in C++ requires significantly more learning than python, I'll repeat what I said before, this time with a little better formatting:

  1. Access Operators.
    • C++: The access operator is either "::" or "." . It is required to access members of any object or a namespace which has not been declared with a "using" statement
    • Python: The access operator is always ".". It is required to access members of any object or a namespace which has not been declared with an "import" statement
    • The two are clearly identical
  2. Imports:
    • C++: To generate a random number, one needs to "#include <random>".
    • Python: To generate a random number, on needs to "import random".
    • The two are clearly identical, except for that pythons "import" also functions as a C++ "using" statement.
  3. You clearly misrepresented my point. Writing to a stream:
    • C++: ""myStream << myOutput"
    • Python: "myStreamObject.Write(myOutput)". (Alternatively, one can inherit from an iostream and override the bitshift operators to get C++ syntax).
    • Which do you think is better? Pythons is more wordy, C++ requires remembering that the "<<" and ">>" operators are not the same in all contexts.
  4. Functions
    • C++ "type name(params){}"
    • Python "def name(params):".
    • The two are clearly identical.
  5. To generate any useful program, a program needs to have a clearly defined entry point.
    • C++: "int main(){}"
    • Python "if __name__ == "__main__:" (if you don't know why one might need this, you aren't really that knowledgeable about python yet).
    • Which is better? Which is easier to understand? Clearly, one must know the inner workings of python to understand that. One must only know that the computer calls the function "main" to start a C++ program.

If you can't figure out why all of this was necessary to write, then ask yourself, how long is op going to be writing "hello world"? I mean really? Clearly the OP is going to start using functions, objects, and other useful features of the language pretty quickly, so basing an argument on the best beginner language entirely off how easy it is to write a hello world program shows a complete lack of serious thought on the matter.

The reason python should be chosen over C++ for a beginner is because it makes some things that are relatively hard in C++ significantly easier. Arguing about how easy it is to write "hello world" in a language as the only consideration for an opinion on which language is better for a beginner is seriously malicious to the point of sending a person down the right track to becoming a successful developer, either for professional or as a hobbyist. I mean, if that's the only consideration here, then why not recommend HTML/CSS, which is a Turing complete combination: To write "hello world" in that combination, one must only write "Hello World!".

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, straight_stewie said:

Trivially, your entire sentiment about being unable to do things until you learn them is silly. Of course you can't successfully do anything until you learn how to do it successfully, that's just common sense...

 

As for my specific statements about why I think it's a little silly to say that doing basic things in C++ requires significantly more learning than python, I'll repeat what I said before, this time with a little better formatting:

  1. Access Operators.
    • C++: The access operator is either "::" or "." . It is required to access members of any object or a namespace which has not been declared with a "using" statement
    • Python: The access operator is always ".". It is required to access members of any object or a namespace which has not been declared with an "import" statement
    • The two are clearly identical
  2. Imports:
    • C++: To generate a random number, one needs to "#include <random>".
    • Python: To generate a random number, on needs to "import random".
    • The two are clearly identical, except for that pythons "import" also functions as a C++ "using" statement.
  3. You clearly misrepresented my point. Writing to a stream:
    • C++: ""myStream << myOutput"
    • Python: "myStreamObject.Write(myOutput)". (Alternatively, one can inherit from an iostream and override the bitshift operators to get C++ syntax).
    • Which do you think is better? Pythons is more wordy, C++ requires remembering that the "<<" and ">>" operators are not the same in all contexts.
  4. Functions
    • C++ "type name(params){}"
    • Python "def name(params):".
    • The two are clearly identical.
  5. To generate any useful program, a program needs to have a clearly defined entry point.
    • C++: "int main(){}"
    • Python "if __name__ == "__main__:" (if you don't know why one might need this, you aren't really that knowledgeable about python yet).
    • Which is better? Which is easier to understand? Clearly, one must know the inner workings of python to understand that. One must only know that the computer calls the function "main" to start a C++ program.

If you can't figure out why all of this was necessary to write, then ask yourself, how long is op going to be writing "hello world"? I mean really? Clearly the OP is going to start using functions, objects, and other useful features of the language pretty quickly, so basing an argument on the best beginner language entirely off how easy it is to write a hello world program shows a complete lack of serious thought on the matter.

The reason python should be chosen over C++ for a beginner is because it makes some things that are relatively hard in C++ significantly easier. Arguing about how easy it is to write "hello world" in a language as the only consideration for an opinion on which language is better for a beginner is seriously malicious to the point of sending a person down the right track to becoming a successful developer, either for professional or as a hobbyist. I mean, if that's the only consideration here, then why not recommend HTML/CSS, which is a Turing complete combination: To write "hello world" in that combination, one must only write "Hello World!".

1) Why would you need to use an accessor to print out hello world? Where do you see the accessor in print("hello world")???

2) Why would you need to import any module to print out hello world? The python standard library functions like print() do not require any imports.

3) Again, where do you see any such operators in print("hello world")?

4) print("hello world") does not need to be under the scope of any def xxxx: while in C++ you do so you need to learn function, parameters, and return statement before you can even print something to stdout. 

5) you do not need __name__== '__main__', like i said, this is literally all you need. It is a full fledge python program. 

Screenshot from 2019-02-12 00-27-35.png

 

My point is you need to learn so much of c++ already just to do something that is remotely interesting. I doubt an absolute beginner like op will have the patience to keep learning when the tedious details need to be learned first before doing something fun and interesting. 

 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

I recommend starting with Python or C#. As for sources/tutorials, I guess youtube's okay but when I was starting off 4ish years ago I found that trying to do exercises while googling any issues you run into is the best way to learn. So basically get a general idea of the main features that programming languages offer (variables, data structures, functions, logic, etc) and then jump in to trying to make something. Then when you run into issues/uncertainty how to continue google what your issue is or how to do the thing your trying to do.

 

For resources to get the basics I'd recommend trying to find course material for various introductory CS courses such as these by (imo awesome) profs at my university: https://pages.cpsc.ucalgary.ca/~bdstephe/217_F18/index.php http://pages.cpsc.ucalgary.ca/~sonny.chan/cpsc231/

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, WolfLoverPro said:

 

It’s hard to learn another from python? But I just started so what I should learn another one then or 

WolfLoverPro, everyone has their own favorite for learning 1st for various reasons. I told you mine, others told you theirs. But like I and a few others have already mentioned. If you have started to learn Python, then don’t quit on it to jump into another language; see it through to the end. You’ll be happy you did once you got a good understanding of it and can say you have accomplished learning a new programming language.

 

other then that this thread is starting to unravel a bit. So don’t worry about anything but continuing to learn Phyton for now and then after you got a good understand, pick another language if your up to it.

 

I wish you the best of luck and hope you enjoy every second of it :)

Link to comment
Share on other sites

Link to post
Share on other sites

Are you interested in (general) software development or you want to learn to program so you can do something specific (information security, artificial intelligence, computer graphics...)?

Link to comment
Share on other sites

Link to post
Share on other sites

JavaScript is a good choice for a beginning language.  Uses C-Style syntax (which the vast majority of programming languages do these days) so once you get it down it's much easier to go to another language.  Plus once you get the hang of the basics, you can move onto dom manipulation and other frameworks like jquery, etc.

 

That being said, as powerful and useful as I do find scripting languages to be, I still recommend at least having some exposure to a lower level language like C++ just to understand what's happening behind the scenes.  I've seen a lot of programmers who mainly work in Scripting languages make a lot of really, really stupid mistakes, or choose really bad solutions when better ones are readily available.  Probably a more practical option would be to get a book on writing High Performance JavaScript code, as the majority of what those books do is teach you what's happening behind the scenes in the Script engine.

 

With all that being said, this is definitely a case of choosing the right tool for the right job.  If there's something specific you want to do, I'd recommend asking others online or reading up on what's recommended, or even looking at companies that work in the same area you're interested (even if you're not looking for a job) and see what languages they're looking for in their applicants.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

I think there's one thing that hasn't been mentioned and it's that really, any language can be a good first language* because once you learn how to program in one language, you learn to program period. From there, you can recognize the tools and building blocks from one language (say python) and reuse them elsewhere. Because once you understand what a variable is, how you can assign and retrieve data from it, flow control structures (ifs, loops etc.), declare functions, use external code (like Python's import statement) and so on... then you realize that ALL languages have these tools.

 

Python makes you write "import" to get an external library.

Node JS (Javascript) makes you use "require"

C# has using

 

Python makes you declare a function like so:

def greet():
  print("Hello world!")

While Javascript does it like so

function greet(){
  console.log("Hello world!");
}

Etc...

 

Now, some languages have more syntax and more things to consider than others and all languages are good to learn. High level languages (very far from the "metal", lots of abstractions to simplify repetitive tasks) like Python and Javascript are good because they do their best to be simple.

 

"Intermediate" languages like C# and Java make you think a bit more, but do hand you more power.

 

Low level languages (little to no abstractions) like C++ and C have a lot of "landmines" and complexities (like the need to think about deleting variables you assign, instead of trusting the computer to do it itself), but are an amazing thing to learn because then you understand computers better, understand better the abstractions of higher level languages and can work better with them, or you can do more optimized and powerful programs.

 

My school education was done mostly on C#, C++ and Java. Now, I work with Python and play around with Javascript (which I both learned by myself). In my free time, I mostly do web applications, though I always keep my C# handy because I work in a games studio and our engine of choice (Unity) uses C#.

 

But really, all languages are good languages, it's more of a "right tool for the right job" kind of thing. I wouldn't develop a web server in C, but I wouldn't develop an OS in Javascript.

 

So in the end, go ahead, learn Python. It's simple, popular, well documented and supported and then you can take what you learned in Python and take it to another language of your choice, and after a while, you'll do the same thing I do: groan when you open up a course on Ruby and they start from the very beginning teaching you what a variable is when you already know what a damned variable is.

 

My BF went through Google Grasshopper after I recommended it to him. He's a nurse and he was curious at learning programming. Grasshopper does a fairly good job at doing what I just preached: learning not the specifics of a language, but the principles of programming in general. It does that through Javascript, but it's in no way a javascript tutorial. It's nice and light, free and split up in small bite-sized lessons to learn the fundamentals, which you could do in parallel to your Python lesson.

 

Finally, the best advice I can give you to learn is to get your hands dirty. Find something you want to do and try to do it. It's okay to break things, it's okay for it to bug, it's okay for it to be "ugly code". Get to it, code, work and you'll get better at it. That's still how I learn most things.

 

Have fun!

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×