• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Easiest programming language to learn?

Archenoth

(cozy)
467
Posts
12
Years
  • I would recommend "C", personally... It may look intimidating, there there is literally only 32 keywords in the entire language. Everything else is structure, flow, and external APIs (Which is where you get most of your functions from, but don't worry! They are well documented.) It's dead simple for a programming language, and it's freaking powerful!

    As weird as it may sound, I recommend learning in a virtual machine... A Linux virtual machine... Why? Because the documentation for C is built right into it! Mostly, they also happen to conveniently come with a compiler (gcc) so you don't really need to set anything up... That's a big step ahead..!

    First try to learn how the language is structured, and after you get the hang of that, just dive in to the standard libraries. (Libraries are things that give you commands to use, and you access them by with an "#include" directive.)

    When you get a grasp of the standard libraries, feel free to check out any API you want..! (I recommend SDL, since it is well documented, and happens to be cross-platform)

    I haven't used it, but I hear that this is a good tutorial for the language..!

    Also, it is dead simple to learn C++ after you have a grasp on C... And most major software is written in C or C++. So it would be very useful to learn.
     
    Last edited:

    Dawn

    [span="font-size:180%;font-weight:900;color:#a568f
    4,594
    Posts
    15
    Years
  • I'd recommend Python as a very easy way to learn programming. I would also recommend not touching C or derivatives if you indeed want the easiest way to learn your first programming language because that's being recommended to you for the wrong reasons. It's the most useful to know, not the easiest to teach a beginner. It's the best choice, but it's not the easiest.
     

    Archenoth

    (cozy)
    467
    Posts
    12
    Years
  • I beg to differ... :P

    Python uses C's rules... It even uses libraries written in C. The most difficult thing to learn about C is pointers and malloc... And those don't take much to learn. (malloc is usually abstracted anyway, so you won't use it often..!)

    Python, in addition to C's rules, also has rules of it's own... So it makes things more difficult.

    I suppose I am a bit biased, since I started with C. Plus Python can get confusing due to a distinct lack of documentation in important APIs, as well as incompatibility between versions since... (The simplest program in Python 2.3 will be broken in Python 3.0, etc...) So that's yet another thing to watch out for.
     
    2,096
    Posts
    15
    Years
  • Speaking as a beginner who is an expert in no programming languages I'd say to start with either C or Java. Java was the easiest to pick up but I think that was because the site that I used better at teaching you the language. C is more useful but I had trouble getting my head around the compiling, but after that I'm happily ploddding along learning. Also if you want to learn C prepare for a lot of reading. I've yet to see a compact tutorial in the language ._.
     
    Last edited:

    Maxzeroedge

    Ready for simply anything
    49
    Posts
    14
    Years
  • I guess any programming language would be easy to learn, because it is 60% brain work and 40% code work.
    So starting with something with lesser codes would be a good idea.
    I would suggest Visual Basic?
     

    Alice

    (>^.(>0.0)>
    3,077
    Posts
    15
    Years
  • I started with python, and was able to teach myself well enough. I haven't used anything else though, so I can't really say for sure.
     
    25
    Posts
    12
    Years
  • I guess any programming language would be easy to learn, because it is 60% brain work and 40% code work.
    So starting with something with lesser codes would be a good idea.
    I would suggest Visual Basic?

    Visual Basic is really annoying and not worth the time... Most people who started programming in my uni learned JAVA as their first language.

    https://www.bluej.org/objects-first/

    Thats the book we used when we learnt Java and its very good at teaching you the stuff you need.
     
    27,751
    Posts
    14
    Years
  • Believe it or not, I find PHP the easiest.. its the first language I can program in, although Im not sure if you meant computer programming language lol.. however (although it isnt a programming language) the first language I became good with is mIRC scripting

    I don't use PHP to design websites, but to develop mini and personal web applications for fun in my spare time
     
    2,243
    Posts
    19
    Years
  • C is pretty easy to learn, as others have suggested, but it's fairly hard to master. However, it is also a building block for its supersets (like C++ and Java), and really makes learning them much easier. Any difficulty, I think, that you encounter learning C will just make learning objective languages and C supersets all that much easier in the long run.
     

    Archenoth

    (cozy)
    467
    Posts
    12
    Years
  • C is pretty easy to learn, as others have suggested, but it's fairly hard to master. However, it is also a building block for its supersets (like C++ and Java), and really makes learning them much easier. Any difficulty, I think, that you encounter learning C will just make learning objective languages and C supersets all that much easier in the long run.

    Exactly..! It is one of the simplest languages in use, but there are so many little things that you will learn as you continue to work at it. You can easily learn the basics of C within a single day, and start coding useful things almost immediately. But for the more complicated aspects, it will take a long time to master. It also helps learn other languages since most common languages are very C-like.

    For language specific comparisons:

    Java - Java may be nice, but going from no programming experience directly to an Object oriented language like Java is just asking for some braindeath.

    PHP - PHP is based highly on C. As a matter of fact, most of PHP's functions are the same as the standard library for C.

    C++ - C++ is C with classes, so a more object oriented version of C with some other differences. So the same thing that I said about Java applies to C++. But C++ doesn't handle everything like Java does, so this would be like braindeath2.

    Visual Basic - I haven't really used much Visual Basic, so I can't really compare it, but I do know that it has many more commands to start out with than C.
     

    twocows

    The not-so-black cat of ill omen
    4,307
    Posts
    15
    Years
  • I did a ctrl+f for Python and only got three results, one of which is decrying it.

    WHAT IS WRONG WITH YOU PEOPLE

    Seriously, Python is EXTREMELY easy to pick up and VERY powerful. There are some absolutely wonderful libraries available for it as well, like PySide (Qt bindings for Python), making it my language of choice for any large-scale development (C takes the cake for developing efficient code, though).

    C++ - C++ is C with classes, so a more object oriented version of C with some other differences. So the same thing that I said about Java applies to C++. But C++ doesn't handle everything like Java does, so this would be like braindeath2.
    C++ is like C but awful.
     

    Archenoth

    (cozy)
    467
    Posts
    12
    Years
  • Seriously, Python is EXTREMELY easy to pick up and VERY powerful. There are some absolutely wonderful libraries available for it as well, like PySide (Qt bindings for Python), making it my language of choice for any large-scale development (C takes the cake for developing efficient code, though).
    Pygame is also a very good library for it. And the bindings for common libraries like Webkit are nothing short of awesome.

    Python is indeed powerful, but it also is harder than you describe. It may handle more, but it also has more rules, many which don't exist in other languages. It also teaches bad practices with variable conventions.

    Python was made so that there was only one way to do things, which is nice I guess, but if you are new and don't know the API fully, you are going to have a hard time finding out what that "one way" is supposed to be.

    Also, Python has gone down a lot recently...

    C++ is like C but awful.

    Say what you will, but the error handling, and the object oriented development style is a godsend. It is also almost as fast as C.
     
    Last edited:

    twocows

    The not-so-black cat of ill omen
    4,307
    Posts
    15
    Years
  • Pygame is also a very good library for it. And the bindings for common libraries like Webkit are nothing short of awesome.

    Python is indeed powerful, but it also is harder than you describe. It may handle more, but it also has more rules, many which don't exist in other languages. It also teaches bad practices with variable conventions.

    Python was made so that there was only one way to do things, which is nice I guess, but if you are new and don't know the API fully, you are going to have a hard time finding out what that "one way" is supposed to be.

    Also, Python has gone down a lot recently...
    I think it teaches a lot of good practices. The "one Python way" tends to be the right way most of the time. The documentation is also very, very good (and you can use the same engine to make your own documentation for the code you write, which is really cool). Also, Python 3 is pretty awesome; no more vague division, now there's / for real division and // for integer division. Cool stuff.
    Say what you will, but the error handling, and the object oriented development style is a godsend. It is also almost as fast as C.
    The error-handling in C++ is beyond a cruel joke; it's just downright awful. Nobody even uses try/catch in C++ because it's so horrible. The OO can be nice in some situations, but other languages do it better. C++ code is also a PITA to maintain.
     

    Renegade1

    #1 Noob!
    101
    Posts
    12
    Years
  • I would recommend "C", personally... It may look intimidating, there there is literally only 32 keywords in the entire language. Everything else is structure, flow, and external APIs (Which is where you get most of your functions from, but don't worry! They are well documented.) It's dead simple for a programming language, and it's freaking powerful!

    As weird as it may sound, I recommend learning in a virtual machine... A Linux virtual machine... Why? Because the documentation for C is built right into it! Mostly, they also happen to conveniently come with a compiler (gcc) so you don't really need to set anything up... That's a big step ahead..!

    First try to learn how the language is structured, and after you get the hang of that, just dive in to the standard libraries. (Libraries are things that give you commands to use, and you access them by with an "#include" directive.)

    When you get a grasp of the standard libraries, feel free to check out any API you want..! (I recommend SDL, since it is well documented, and happens to be cross-platform)

    I haven't used it, but I hear that this is a good tutorial for the language..!

    Also, it is dead simple to learn C++ after you have a grasp on C... And most major software is written in C or C++. So it would be very useful to learn.

    Alas i can't add anything to that, all i can do is echo the aforementioned points and state 'He correct dawg' in a somewhat ghetto accent
     
    28
    Posts
    12
    Years
    • Seen Sep 30, 2013
    C#. It's gaining incredible momentum and it's relatively easy to fathom. I learned the language on my own, and didn't find any major difficulties. Of course, like some said, Python is a good language to start with. After that, I'd suggest C/C#.
     

    twocows

    The not-so-black cat of ill omen
    4,307
    Posts
    15
    Years
  • Alas i can't add anything to that, all i can do is echo the aforementioned points and state 'He correct dawg' in a somewhat ghetto accent
    But he's not, at least not 100%.

    C is an all right first language to learn, it's well-documented and makes sense for the most part. However, strings are horrible and are done better in almost any other language, and trying to teach a new programmer what a "pointer" is or how to use "malloc" is an exercise in futility.

    Learning in a virtual machine is silly; all of the manpages are available online and it takes 5 minutes to set up a decent cygwin environment to have a roughly equivalent programming environment. I hate cygwin in general, but for learning, there's really no reason not to use it.

    Also, he recommends against learning an OO language first. OO is an easy and useful paradigm to learn, there's no reason not to learn it immediately, so long as the student realizes it's not the only way things are done and shown how other paradigms might do things.

    Learning external APIs is a good thing, students should be encouraged to seek stuff out early; I agree on this.

    As for C++, I wouldn't recommend it to my worst enemy.

    For the longest time, Java was the standard first language in US schools. Now, Python is taking its place in some places, and I think that's fine. C is also an option, at least if taught well; that includes teaching what pointers are and how they work early on. Maybe integrate bstrings into the education; learning how to dynamically link external libraries in that you can just drop in to any project is a useful skill and bstrings remedy probably the worst part of C.

    I just think Python teaches better conventions than C. There are more things you lack knowledge of learning C as a first language than learning Python as a first language (namely, any understanding of the OO model and how to use it).
     

    Archenoth

    (cozy)
    467
    Posts
    12
    Years
  • But he's not, at least not 100%.

    C is an all right first language to learn, it's well-documented and makes sense for the most part. However, strings are horrible and are done better in almost any other language, and trying to teach a new programmer what a "pointer" is or how to use "malloc" is an exercise in futility.
    Malloc and pointers... Those are indeed the two most difficult things about C... Most of it is actually quite easy though. As for strings, character arrays are sometimes easier to work with as opposed to arbitrary classes since they can be called as a primitive data type and give some insight how other language strings actually work, but generally, they are cumbersome. So yes, you are correct in this, these things are not as easy in C as they are in other languages.

    Learning in a virtual machine is silly; all of the manpages are available online and it takes 5 minutes to set up a decent cygwin environment to have a roughly equivalent programming environment. I hate cygwin in general, but for learning, there's really no reason not to use it.
    I beg to differ, depending on the type of programming you get into, you can do whatever you want to a virtual machine without any fear of screwing anything up, plus it is less work to work in a Virtual machine since it comes fully configured to begin with as opposed to setting up a Cygwin environment with a much more limited toolset as well as none of the advantages that the isolation of a virtual machine gives you. Plus Cygwin is nothing I would recommend using for compilation since it requires it's DLL to be included with anything you make if you use it's compiler.... If you use any gcc on Windows, I would recommend MingW over Cygwin any day.

    Also, he recommends against learning an OO language first. OO is an easy and useful paradigm to learn, there's no reason not to learn it immediately, so long as the student realizes it's not the only way things are done and shown how other paradigms might do things.
    As far as paradigms go, Object oriented is not that hard, but it is by no means easy for a beginner... It is an intermediate concept, it is much more futile than learning the concept of pointers in C for a newbie. Another reason I suggested C was because it's paradigm (procedural) works as a very nice interlude into Object Oriented eventually... Plus it is much easier to learn. Object oriented is great, but it is killer if you are just beginning to learn the concepts of programming.

    For the longest time, Java was the standard first language in US schools. Now, Python is taking its place in some places, and I think that's fine. C is also an option, at least if taught well; that includes teaching what pointers are and how they work early on. Maybe integrate bstrings into the education; learning how to dynamically link external libraries in that you can just drop in to any project is a useful skill and bstrings remedy probably the worst part of C.
    Python is taking over in places..? I was unaware of this... This is interesting if this is true. And yes, bstrings is a way to get over one of C's weaknesses... I just wouldn't rely on it too much since that API isn't available everywhere.

    I just think Python teaches better conventions than C. There are more things you lack knowledge of learning C as a first language than learning Python as a first language (namely, any understanding of the OO model and how to use it).
    Procedural programming is a good way to eventually learn Object Oriented... And it is far easier in my experience than jumping right into it. Also Python's typing system frankly, leaves much to be desired. The top down small chunk programming style of C also makes it easy to visualize how to create programs in small easy to digest pieces as opposed to the often lengthy pieces that Python generally has.
     
    Back
    Top