What programming language should I learn after Lua ?

Discussion in 'General Off-Topic Chat' started by Vieax, Feb 25, 2017.

  1. Vieax
    OP

    Vieax Advanced Member

    Newcomer
    64
    45
    Feb 24, 2017
    Hi tempers ,

    Im currently learning to code in Lua , and I really like the language :P!
    Im not really sure if I should already begin learning c++ afer Lua :/.
    Would be nice if you guys have any advice about this or in general about learning to code :))).
    btw I got 14 this month.

    thanks in advance :)

    ( yes this is my first non-shitpost )
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,180
    8,922
    Nov 21, 2005
    C++ is a rather different beast to lua.

    Generally I would say learn what you will find is useful, or will keep your attention when learning -- C++ is not going to help you code websites where php might well, on other hand php is probably not going to do much good for coding emulators where C++ would.

    C++ is a fairly low level language (its performance is high but that comes at the cost of difficulty), though it is used throughout computing for all sorts of things as a result. lua is a very high level language, though a useful one, so it might well do well for you to go lower and learn how things work there.
    Some might say tackle C before you go for C++ and there is scope to argue that, there is also scope to say C++ is fine to learn before C as C++ is kind of C with some extras.

    I should also say one rarely learns a complete language and there are always more libraries you can learn, more aspects of it you can learn and deeper you can go. Indeed if it is your first language and you are asking that question many would say you have not yet finished learning lua, though no need to fully learn one thing before you pick up another.
     
  3. Vieax
    OP

    Vieax Advanced Member

    Newcomer
    64
    45
    Feb 24, 2017
    Thank you very much for your respond :)
    Ill maybe learn more about lua ^^ and then go to c or c++ because I want to do homebrew stuff
     
  4. evandixon

    evandixon PMD Researcher

    Member
    1,652
    776
    May 29, 2009
    United States
    I recommend .Net (C# is a good choice) because it can run pretty much everywhere (except for embedded systems and web browsers, where you'd need C/C++ and Javascript respectively). It's a high-level language that can go as high or low level as you want, and, unlike Java, is compiled without needing to run in a virtual machine.

    PKHeX is a popular program written in C# .Net, for example.
     
    Vieax likes this.
  5. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,180
    8,922
    Nov 21, 2005
    Many consoles will have a lua interpreter available for them, and a useful one at that. The DS had a least three that I can think of. Obviously you are not going to make the next mario kart or anything but you can make some seriously playable games -- the commercial game puzzle quest was made in it, several other DS commercial games also being made using it.

    Similarly emulators that support lua scripting are available. http://www.fceux.com/web/help/fceux.html?LuaScripting.html is the main reference point for most of the ones to follow. Desmume has it and if you go poking around tool assisted speedrun sites then you will find many other versions for all sorts of consoles.
     
    Vieax likes this.
  6. CaptainCurry

    CaptainCurry Member

    Newcomer
    14
    10
    Feb 27, 2017
    United States
    Hijacking this thread for my curiosity about programming.
    • How does one start programming?
    • What language is recommended for a beginner?
    • Where/how do you start learning programming?
    • What are practical uses a beginner programmer could make use of?
     
    Vieax likes this.
  7. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,180
    8,922
    Nov 21, 2005
    1) You probably already have at some level. Usually though by finding a book or video course and starting.
    2) That could take a while to cover and it will first have to find out what your end goals are -- if you already have a fair grounding in physics, maths and the like you might be more suited to lower level programming, especially if your goals will make use of it. If you would want to mainly be able to manipulate a fairly small bit of data and not write high performance games, emulators, video encoders and the like then you could go for a higher level language and more quickly (and easily) find yourself doing useful things.#
    3) http://programming-motherfucker.com/
    4) Threefold, four if we must mix money into those.
    i) I already mentioned being able to manipulate data. So your program takes a little while longer than some whizz bang programmer might be able to make one do the same in. If it happens in a reasonable amount of time and produces the output then fantastic.
    ii) Part of it will teach you concepts like regular expressions and other such things. If you have ever had to alter something to include something else in the middle of a spreadsheet, or count things in a document and done it by hand then a computer would have done it far more quickly, and probably more accurately than you.
    iii) There are always little things like testing, documentation, small tweaks and more that want to be done for open source projects. You might not feel too comfortable contributing to the make it or break it aspects of the code but the little stuff matters to and if you prove you can handle that then you will get invited in.
    iv) A lot of websites have simple code underpinning them but that is still beyond most people. Even with fairly weak skills you could get a lot of stuff done that a lot of people want. Beyond that php (the main web coding language for an awful lot of things) is incredibly easy to learn compared to a lot of computer languages.
     
    Vieax and CaptainCurry like this.
  8. EthanAddict

    EthanAddict Face the Slayer!

    Member
    411
    1,806
    Nov 12, 2016
    Greece
    You can continue:
    to a high level programming language, Python, for scripting like lua,
    to a lower level programming language, C, for performance,
    to an even lower programming language, ASM, for performance too, but also good for bare-to-bones programming where C is not that fast(not an actual reason) and creating OS kernels(you need to use at least some ASM),
    to the lowest of the lowest level of programming language: Machine code, unique to every proccessor(meaning that there is a big difference between ARM and x86 machine code), no reason to use anymore...
     
  9. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,180
    8,922
    Nov 21, 2005
    Give or take efforts like assembly libraries is machine code all that different to assembly? I would probably accuse it of being the same thing, however for machine code you hand encode each instruction rather than just knowing how to do it but using an assembler like a sensible person.
     
  10. gnmmarechal

    gnmmarechal Kirigiri > Naoto

    Member
    GBAtemp Patron
    gnmmarechal is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    4,477
    2,663
    Jul 13, 2014
    Portugal
    https://gs2012.xyz
    I'm not sure going from Lua to ASM is a good decision for someone starting out.
     
  11. EthanAddict

    EthanAddict Face the Slayer!

    Member
    411
    1,806
    Nov 12, 2016
    Greece
    Yeah, that is true. It is better for somebody to start with Python,Lua etc --> C(not C++) --> ASM...
     
  12. gnmmarechal

    gnmmarechal Kirigiri > Naoto

    Member
    GBAtemp Patron
    gnmmarechal is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    4,477
    2,663
    Jul 13, 2014
    Portugal
    https://gs2012.xyz
    Java isn't a bad way to start learning either.
     
  13. EthanAddict

    EthanAddict Face the Slayer!

    Member
    411
    1,806
    Nov 12, 2016
    Greece
    Well, I have never touched Java in my life, but yeah...
     
  14. tech3475

    tech3475 GBAtemp Advanced Fan

    Member
    548
    238
    Jun 12, 2009
    I'd ask what you want to do first.

    I have some experience with PHP, Java and shell scripting but I think it's pointless to just 'learn a language' without some kind of goal in mind as while languages can be similar (for loops, if/else, etc.) they can also be vastly different in syntax and libraries that it can become easy to forget or overlook something.

    For example, I've read that C# can be used in Unity which may make that a good language if you want to use Unity (don't quote me on this though).