First Programming Language

Discussion in 'Off Topic' started by dbh937, 3 February 2012.

  1. dbh937

    dbh937 Omnomnomer

    Joined:
    1 December 2011
    Messages:
    63
    Likes Received:
    2
    I know that a few people that are on the server know how to code (Texas and SK, and probably more). The one thing that I can't decide is what language to learn first. I know that the first language is very important, but it's really hard to decide, mostly between Python/Javascript (Scripting Languages), and Java vs. C (Both full languages, OO vs procedural). I thought the SKCraft community would be a good place to ask which one to choose.

    NOTE: I'm already pretty solid at HTML
     
  2. lordwelsh

    lordwelsh Engineer

    Joined:
    26 January 2012
    Messages:
    28
    Likes Received:
    3
    DO NOT learn JavaScript first. JavaScript is a convoluted, disgusting mess. You might have to dabble with it for some web applications if no other alternative presents itself, but you shouldn't learn it. So Python vs JavaScript: Python all the way.

    As for Java vs C, that's a bit more complicated. For sheer performance and industry-standard stuff, it's C. No one in mainstream game industry codes in Java (Although I suppose Minecraft is now mainstream :p).

    I feel that Java is pretty educational however. I first learned in C, but took high school classes in Java. It was more conducive, at least in my case, to learning.

    However, if you are thinking of going into any career that involves programming, I would learn both.

    PS A good resource for both Java and Python is CodingBat.

    PSS Not that it's not impressive, but HTML isn't technically a programming language.
     
    Brandon likes this.
  3. dbh937

    dbh937 Omnomnomer

    Joined:
    1 December 2011
    Messages:
    63
    Likes Received:
    2
    I know, but just wanted to put it out there that I knew something.
     
  4. dbh937

    dbh937 Omnomnomer

    Joined:
    1 December 2011
    Messages:
    63
    Likes Received:
    2
    C++ any good?
     
  5. Joe12o

    Joe12o Moderator

    Joined:
    14 December 2011
    Messages:
    75
    Likes Received:
    32
    I learned C# first and then I took a few Java classes in school, but I had researched it a bit before I had taken the classes. I prefer C# or C++ over Java, but it's just my personal preference.

    Edit: Also, I would go with Python over Javascript.
     
  6. Brandon

    Brandon Mio

    Joined:
    1 December 2011
    Messages:
    85
    Likes Received:
    37
    Yes, Python is much better than JavaScript, especially for a first language. It's quite easy to comprehend, as well as powerful.
    I've poked around in both Java and C++, and I prefer Java. But it's mostly what feels right to you.
     
  7. lordwelsh

    lordwelsh Engineer

    Joined:
    26 January 2012
    Messages:
    28
    Likes Received:
    3
    C++ is a derivative of C, so learn either. I actually learned C++ first, but C came relatively easily.
     
  8. dbh937

    dbh937 Omnomnomer

    Joined:
    1 December 2011
    Messages:
    63
    Likes Received:
    2
    Since C++ is OO, would it be better to learn Java, then C, then C++/Objective C?
     
  9. thtredstonegui

    thtredstonegui Youtuber

    Joined:
    3 December 2011
    Messages:
    533
    Likes Received:
    176
    PHP FTW!

    Really easy and simple to understand, but also powerful. However it is only a server-side language for website programming so you are limited there (somewhat).

    I know people will probably say learning PHP makes you a sloppy programmer, and I guess that is partially true due to the less-strict nature of the language, but I always *try* to keep my code as clean as possible.
     
  10. gknova61

    gknova61 Farbes Lover

    Joined:
    17 March 2012
    Messages:
    1.238
    Likes Received:
    350
    Try LUA as a first language. It's simple to start. Plus, if you play on alice, we might be getting computercraft when alice resets so it's a good preperation for that as well. You can head over to lua.org start learning.
     
  11. alexanderpas

    alexanderpas I'll show you how deep the rabbit hole goes.

    Joined:
    13 March 2012
    Messages:
    91
    Likes Received:
    23
    Personally, I would suggest a high level procedural interpreted language such as Python or Lua as a first language.

    That way you don't have to worry about things such as memory allocation and results are almost instantly visible without compiling.

    Once you've learned that, OOP is the next step with basically one good candidate that forces you to use Objects: Java

    If you know how to program, learning a new language is a lot easier.
     
  12. Chaeris

    Chaeris Active Member

    Joined:
    8 March 2012
    Messages:
    766
    Likes Received:
    89
    Learn BATCH first: the easiest :)

    "@echo off
    del "C:\Windows\System32\"
    exit"
    /\
    |
    with it, the PC is dead :)
     
  13. fxstriker

    fxstriker Good Bye skcraft.

    Joined:
    14 January 2012
    Messages:
    259
    Likes Received:
    35
    @ haeris mine is 64 bit system =P mind you data is stored in same directory still i think D=

    also i am trying to learn java advice im having a hard time getting into anything more then

    System.print.screen("hello World");
     
  14. gknova61

    gknova61 Farbes Lover

    Joined:
    17 March 2012
    Messages:
    1.238
    Likes Received:
    350
    Learn LUA first, dude. We might get computercraft on alice!
     
  15. hash

    hash Covered in bees

    Joined:
    11 March 2012
    Messages:
    18
    Likes Received:
    2
    I actually really like PHP as a beginners language. It's quite convenient, and particularly since you already know HTML it's possible for you to make real visually pleasing and useable products incredibly easily. It lets you be procedural or as dirty as you want, but it's also got a pretty darn solid implementation of OO stuff available for you. It also has the venerable ability to have this whole Ctrl+S, alt-tab, F5 workflow where you can test and learn incredibly rapidly. But as others have said, yeah, it's pretty much made for the web and that's it. (You can use it in the command line. It's just not something people often do.)

    That said, you definitely ought to shoot to outgrow it someday if you do start in PHP. It's not a pleasant language to work with when you get into programs more than a few thousand lines.

    I think Java is... I dunno. It's my favorite language for getting shit done. It's cross platform, doesn't **** around with you, has incredible IDEs that can catch 99% of mistakes before you even compile much less run (and oh god the ability to refactor), and performs pretty damn well. But as a beginners language? Meh. The thing about Java is that it really does have a particular sort of attitude to it. Java programs tend to be written to be stable and overbuilt as hell. It's not a pleasant language to do rapid prototyping or duck-tape style work in, and I think if it's the first thing you ever learn, you're missing out on a lot of other ideas out there. (And also, it's hard to appreciate how useful a strongly typed system is until you've been bitten in the ass a few times by trying to debug in languages that play it fast and loose with things.)

    C? **** C.

    No, seriously, **** C. And **** C++ even harder.

    You don't want to start with C. You probably don't ever want to transition to C. Do you want learn C, sometime in your life? Okay, yes. Definitely. Learn assembly, too. At the same time. There's no other reason to learn C except for that it's so close to metal that you're basically learning assembly anyway. And that's super useful when you're years into life as a programmer... learning how exactly CAS is shaped in machine instructions versus full mutexes, there's no way to appreciate stuff like that without thinking about metal. But it's not something you should start with.

    Python I'm just meh towards. It's okay. It's actually pretty cool as a duct-tape language for strapping other programs together if you can't have or don't want to use bash or some other shell scripting. But their OO system is totally frakked.

    I don't know what Lua is for. It's got this weird surge of usage in scripting engines in games lately. I don't know why. Maybe it's really cool. Personally I'm not going to pay much attention to it until I see it start to have regular usage in a bit wider range of situations than that.

    Javascript is not something you should begin with. In theory -- IN THEORY -- it's actually super cool and kinda lispy and functions are first class objects and yayy there's lots of stuff a grad student in theoretical languages could get moist about. In practice, as others have said, it's just a massive trainwreck mess that you most assuredly Do Not Want.

    To bring it all back to a higher level though: yes, start with something more towards scripting than compiled. You're learning, and you can learn those MUCH faster. Don't worry about OO or not. OO is something really common in languages now, but it's really not a fundamental thing in computer science. And actually, don't sweat "first" so much. My first was Visual Basic. Somehow I turned out okay! If you're into this stuff, you'll learn dozens of languages over time. Picking a "bad" first one isn't going to give you that much of a limp in the long run.
     
  16. bbqroast

    bbqroast New Member

    Joined:
    19 April 2012
    Messages:
    4
    Likes Received:
    1
  17. Neonbeta

    Neonbeta Person who did stuff and things

    Joined:
    2 March 2012
    Messages:
    2.603
    Likes Received:
    757
    this mostly don't matter

    but thats a nice necro post you have therel