1. SPS Accounts:
    Do you find yourself coming back time after time? Do you appreciate the ongoing hard work to keep this community focused and successful in its mission? Please consider supporting us by upgrading to an SPS Account. Besides the warm and fuzzy feeling that comes from supporting a good cause, you'll also get a significant number of ever-expanding perks and benefits on the site and the forums. Click here to find out more.
    Dismiss Notice
Dismiss Notice
You are currently viewing Boards o' Magick as a guest, but you can register an account here. Registration is fast, easy and free. Once registered you will have access to search the forums, create and respond to threads, PM other members, upload screenshots and access many other features unavailable to guests.

BoM cultivates a friendly and welcoming atmosphere. We have been aiming for quality over quantity with our forums from their inception, and believe that this distinction is truly tangible and valued by our members. We'd love to have you join us today!

(If you have any problems with the registration process or your account login, please contact us. If you've forgotten your username or password, click here.)

Recommend a Programming Language

Discussion in 'Techno-Magic' started by Master of Nuhn, Jun 26, 2013.

  1. Master of Nuhn

    Master of Nuhn Wear it like a crown Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Dec 16, 2001
    Messages:
    3,815
    Media:
    21
    Likes Received:
    97
    Gender:
    Male
    [​IMG] I'd like to pick up on a programming language, as they are fairly important these days and it's always nice to know stuff and learn something. I'm a total, utter noob when it comes to programming, though, so I have to start from the beginning.

    What programming language do you recommend to a total noob?
    And what languages to pick up later?

    Thanks, nerds! ;)
     
  2. Gaear

    Gaear ★ SPS Account Holder Resourceful

    Joined:
    Nov 13, 2006
    Messages:
    1,877
    Media:
    13
    Likes Received:
    180
    Basic HTML. After that, you will probably realize you don't need to know a programming language after all. :p

    It looks like this:

    [​IMG]

    Isn't it cute? I'm pretty sure it was designed with the end goal of destroying all logical assumptions in the user's mind. Either that or the creator was just really lazy and disorganized.

    Warning: in HTML, a space is not a space, nor is a carriage return a carriage return. There are special codes for those things. But most letters are letters, and numbers may also be numbers some of the time. Also tabs are not tabs most of the time, though sometimes they may work like a tab or appear to be a tab without being a tab. Also get used to the idea of making spaces in your code where you don't want any to appear on your webpage. Such as, if you don't want a space, put a huge gap in your code. If you do want a space, don't put any gaps at all. Then HTML will decide what it wants to do anyway irrespective of your desires.

    Basically, the way HTML works is that you do the opposite of what you would think you should do using common sense. So for example if you want something aligned on the left, you should probably insert code to align it on the right, though sometimes that may have no effect at all. And there are usually many different codes to do the same thing, though most times none of them do that thing, and they may or may not do other things, depending on other things. You will have to familiarize yourself with all the possible things, so that you can try them and have them not work.

    Other times it might work right for a day but not the next day. It may even stop working later that same evening in rare cases, but it almost always works properly two evenings later. This is because sometimes HTML code writes itself while you're not looking. That's correct - you might write up what you think is a beautiful piece of code, only to find that it doesn't look right on your webpage, and go back to find that the code has changed itself to be wrong, probably thinking that you wanted it the wrong way all along. :bad:

    I guess it's basically a sentient and evil form of AI that you bring to life by typing all the mystical code phrases and invocations, so be careful.

    Anyway, that's enough lesson for now ... go forth and 'learn' HTML! ;)
     
    Bladezuez likes this.
  3. Blades of Vanatar

    Blades of Vanatar Vanatar will rise again Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Nov 20, 2008
    Messages:
    4,147
    Likes Received:
    224
    Gender:
    Male
    Gaear, you are evil incarnate.:p
     
  4. Taluntain

    Taluntain Resident Alpha and Omega Staff Member ★ SPS Account Holder Resourceful Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) New Server Contributor [2012] (for helping Sorcerer's Place lease a new, more powerful server!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) BoM XenForo Migration Contributor [2015] (for helping support the migration to new forum software!)

    Joined:
    Jun 11, 2000
    Messages:
    23,653
    Media:
    494
    Likes Received:
    570
    Gender:
    Male
    PHP would be a good choice. HTML isn't actually a programming language. ;)
     
  5. Gaear

    Gaear ★ SPS Account Holder Resourceful

    Joined:
    Nov 13, 2006
    Messages:
    1,877
    Media:
    13
    Likes Received:
    180
    Shows how much I know. ;)
     
  6. Blackthorne TA

    Blackthorne TA Master in his Own Mind Staff Member ★ SPS Account Holder Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) New Server Contributor [2012] (for helping Sorcerer's Place lease a new, more powerful server!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Oct 19, 2000
    Messages:
    10,416
    Media:
    40
    Likes Received:
    232
    Gender:
    Male
    You should start with a common procedural language like C.

    Once you understand it, you can move on to object oriented languages like C++, Java, C# which are very similar in structure with C, but are more powerful and in the case of Java and C#, platform independent.
     
  7. SlickRCBD Gems: 29/31
    Latest gem: Glittering Beljuril


    Resourceful Adored Veteran

    Joined:
    May 7, 2005
    Messages:
    3,143
    Media:
    47
    Likes Received:
    188
    Gender:
    Male
    While C is good if you are serious about things, for a total newbie I'd recommend BASIC. It's a good starter language, and Visual BASIC can be quite powerful with it's compiler.
    The main advantage of C is that every incarnation of Linux comes with a free C compiler called gcc aka GNU C Compiler.
    Unfortunately, Microsoft stopped including a free BASIC interpreter after Windows 98SE (It had QBASIC as an "extra" on the CD-ROM, while Windows 95 still came with both QBASIC and GW-BASIC aka BASICA. ALL versions of MS-DOS came with GW-BASIC aka BASICA, while MS-DOS 5.0 and later also included the much-improved QBASIC, which uses the same interface as the EDIT command. In fact, in MS-DOS it was the same application. You could start EDIT by typing "qbasic /ed").

    As for that HTML, what Gaear posted was designed go scare you. I learned basic HTML back around the time Netscape was releasing Navigator 3.0 (predecessor to Communicator, predecessor to Netscape 6 which was based on the Mozilla browser). IE 3.0 had just been released as well.

    The HTML then was much simpler back in 1995. It doesn't HAVE to be that complicated,and was obviously machine generated. Front Page and other such programs to generate HTML automatically didn't come out until the following fall.
     
  8. Master of Nuhn

    Master of Nuhn Wear it like a crown Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Dec 16, 2001
    Messages:
    3,815
    Media:
    21
    Likes Received:
    97
    Gender:
    Male
    Okay. Cool. Thanks guys! :)

    I had heard of BASIC and C++ a long time ago, but wouldn't have guessed they would still be good choices to start with.
    So I guess a good Plan de Campagne would be Basic, then C and C++, then PHP? And later HTML?

    Am I right that if me being an alien trying to learn human communications is a metaphor for a noob learning a programming language, then HTML would be a woman?
    Or, (as these are the Boards o'Magick) that in the magical world of Programming, HTML would be only masterd by WildMages?
     
  9. Gaear

    Gaear ★ SPS Account Holder Resourceful

    Joined:
    Nov 13, 2006
    Messages:
    1,877
    Media:
    13
    Likes Received:
    180
    In all seriousness, probably what's so frustrating about it is that it is accessible by almost anybody. I have no training in computer languages whatsoever and I was able to pick it up in bits and pieces. It just doesn't behave consistently like I expect it to, but that's probably more a matter of my own limitations.

    (Okay really, sometimes it is just plain stupid. :D)
     
  10. Blackthorne TA

    Blackthorne TA Master in his Own Mind Staff Member ★ SPS Account Holder Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) New Server Contributor [2012] (for helping Sorcerer's Place lease a new, more powerful server!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Oct 19, 2000
    Messages:
    10,416
    Media:
    40
    Likes Received:
    232
    Gender:
    Male
    HTML isn't a programming language it's a markup language (HyperText Markup Language) for creating websites, similar to the codes you use here to mark up your posts with bold, italics, quotes, etc.

    PHP started out as a scripting language (like Perl, or even TCL) but I understand it's evolved since then.

    Though what the difference is between a scripting language and a programming language gets pretty blurry these days and it may not be all that useful to distinguish them.
     
  11. Blades of Vanatar

    Blades of Vanatar Vanatar will rise again Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Nov 20, 2008
    Messages:
    4,147
    Likes Received:
    224
    Gender:
    Male
    Nuhnie,

    Just out of curiousity, what are you planning to do? Create your own Mod for particular game? Something else?
     
  12. Morgoth

    Morgoth La lune ne garde aucune rancune Veteran

    Joined:
    Jul 21, 2002
    Messages:
    3,652
    Media:
    8
    Likes Received:
    86
    Gender:
    Male
    I second Blades, it might be important to know what you want to create.

    For building your own website, you could look at PHP or Javascript (that page points to a free book a friend of mine wrote, and allows you to immediately execute your code within your browser).

    For programs that will run outside of your browser, you should learn C, Python or Ruby. Python and Ruby are currently very popular languages, and the starting points for many beginning programmers.

    I wouldn't recommend starting with Basic because it is a language that often forces you to become a mediocre programmer at best and it is very difficult to unlearn, so stay away from that. Don't begin with C++ either, I find it a very awkward and difficult language to work with.

    The programming hipster in me would tell you to start with Lisp, but I don't think that there are good environments for it on Windows.

    P.S.
    You have me on facebook so you can chat me up if you have questions ;)
     
  13. Master of Nuhn

    Master of Nuhn Wear it like a crown Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Dec 16, 2001
    Messages:
    3,815
    Media:
    21
    Likes Received:
    97
    Gender:
    Male
    Well, actually, anything would be nice. I'm without a job for quite some time and some friends suggested I'd look into some programming/IT. So a long term goal might be applying to a job to become a colleague of Moss and Roy, without the need to ask "Have you tried turning it off and on again?"

    As for short term goals (it probably takes as long to learn it) ... I dunno... Edit some minor files in cRPG games or so?

    I guess I'd be looking for what programs would be important in a few years to have on my CV/Résumé.
     
  14. Morgoth

    Morgoth La lune ne garde aucune rancune Veteran

    Joined:
    Jul 21, 2002
    Messages:
    3,652
    Media:
    8
    Likes Received:
    86
    Gender:
    Male
    Programming is a very useful thing to have on your resume since that would mean that you can think analytically and that you can automate parts of your workflow to become more efficient (or redundant, but ssshhh...)
     
  15. hannibal555 Gems: 9/31
    Latest gem: Iol


    Joined:
    Jan 5, 2006
    Messages:
    327
    Media:
    1
    Likes Received:
    8
    C or C++ would be best.
    Grab a good book (or online tutorial) covering either of the above and start learning.

    Really, once you understand the basics of it, learning any other programming language is a matter of short time.
    I'm a computer scientist myself and in my opinion, only in the early stages of learning, it might be a bit easier to work with something like BASIC, but in the end, the delay is not worth it.
     
  16. henkie

    henkie Hammertime Resourceful Adored Veteran New Server Contributor [2012] (for helping Sorcerer's Place lease a new, more powerful server!)

    Joined:
    Jan 13, 2006
    Messages:
    2,662
    Media:
    38
    Likes Received:
    158
    Gender:
    Male
    Looking at the job openings around here, I'd say go for C++, C# or Java, as that is what they're asking for the most.

    I'm actually thinking of learning some for myself as well, as I'm looking for a new job and am not having much luck of it. I program in Matlab at work (reading and analysing different files and formats), but programming in Matlab is not normally asked for (though looking at the internet a lot of people seem to do it anyway).

    My tip is to think up a project for yourself that you think would interest you and keep it up. I've basically thought myself all I know of Matlab through just doing it, rather than studying it.
     
  17. SlickRCBD Gems: 29/31
    Latest gem: Glittering Beljuril


    Resourceful Adored Veteran

    Joined:
    May 7, 2005
    Messages:
    3,143
    Media:
    47
    Likes Received:
    188
    Gender:
    Male
    I learned AppleSoft BASIC at 10, in community college I took a class in Visual BASIC 6 and then one semester of C and C++. That isn't enough to put programming on my resume.
    Employers who see programming on the resume expect you to churn out usable applications that conform to generally accepted standards and work with Windows API (or Linux), as well as alter the code of their existing custom applications.

    You'd need to get a 4-year degree if you are learning through a college or university to learn enough.

    Now a private non-college class would probably cram more useful skills in so you could learn in a year or less, but there is a big difference between learning a bit of programming for some dabbling and being able to learn enough to put on your resume that you are a qualified computer programmer.

    I'm sorry, I'm not communicating myself well. I originally wanted to be a programmer, but learned I had little skill at designing good GUIs. I went with a network administration and tech support role instead. I'm also currently out of work as of the first of May and frustrated at the job market.

    I tried putting my programming classes on the resume back when I only had an associates degree, and the interviewers acted like I was deceiving them when I was questioned and didn't have certain skills beyond basic ANSI C++ that was taught at the community college in the late 1990s (in the year 2000). It probably cost me a few interviews since they seemed to think I was being deceptive with my resume instead of uninformed (or misinformed) to the realities of the market. That and the HR people doing the hiring didn't understand that "took a couple classes in C and C++" didn't mean "fully qualified experienced expert in C++".
     
  18. Master of Nuhn

    Master of Nuhn Wear it like a crown Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Dec 16, 2001
    Messages:
    3,815
    Media:
    21
    Likes Received:
    97
    Gender:
    Male
    Uuugh... HR people with no people skills. Don't you just hate that?!

    Thanks for the tips peops. I guess I'll skip BASIC, look into C(++) and Java, later perhaps some CSS (tip from other people) and PHP. As those last 3 go well together, it seems.

    And thanks for the warning as well. I won't be applying to IT jobs any time soon so I won't put it on my CV any time soon either. (Also, applying to jobs might work a bit different here, too.) I like to say I'm quite analytic, but I have no real skills to back that up. Mr.Morgs made a nice point. I don't want to put it on my CV, but when/if they ask me what I mean with analytic, I might be able to use the Programming skills as a minor surprise attack.

    Besides that, I suppose I might gain some synergy knowledge (a slightly better understanding of how games work etc) and it's a good way to slow down the disintegration of my brain (the grey matter is slowly turning into grey goo.)
     
  19. Blackthorne TA

    Blackthorne TA Master in his Own Mind Staff Member ★ SPS Account Holder Adored Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!) New Server Contributor [2012] (for helping Sorcerer's Place lease a new, more powerful server!) Torment: Tides of Numenera SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    Oct 19, 2000
    Messages:
    10,416
    Media:
    40
    Likes Received:
    232
    Gender:
    Male
    Well, CSS (Cascading Style Sheets) as I understand it is another web design "language" for style formatting of web pages.

    So sure, any of the web design languages would be good if web page design is the direction you are interested in, but if it's not, CSS would be useless (as far as I know).
     
  20. Harbourboy

    Harbourboy Take thy form from off my door! Veteran Pillars of Eternity SP Immortalizer (for helping immortalize Sorcerer's Place in the game!)

    Joined:
    May 29, 2003
    Messages:
    13,354
    Likes Received:
    99
    Well, if you want a job, then why not do what I did? I learnt COBOL at university and got an A-. And now I have a job as an accountant. So COBOL all the way!
     
Sorcerer's Place is a project run entirely by fans and for fans. Maintaining Sorcerer's Place and a stable environment for all our hosted sites requires a substantial amount of our time and funds on a regular basis, so please consider supporting us to keep the site up & running smoothly. Thank you!

Sorcerers.net is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on amazon.com, amazon.ca and amazon.co.uk. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.