Page 1 of 2 12 LastLast
Results 1 to 25 of 44

Thread: New programming language to learn?

  1. #1
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default New programming language to learn?

    Hi all,

    I am relatively new to the whole programming scene and I am wanting to learn a language that would open doors to a potential career, or even app development.

    I have only really had experience using Lape/Pascal and EventScripts (Counter-Strike:Source plugin), so my knowledge is limited.

    I want to learn something that would be practical inside and outside of gaming, but isn't too hard to grasp.

    Any advice is appreciated

    Cheers!

  2. #2
    Join Date
    Jun 2007
    Posts
    106
    Mentioned
    1 Post(s)
    Quoted
    33 Post(s)

    Default

    I am in a similar position and decided to learn Java. My inspiration was reflection given all the information and good source code to study here, and I'll feel decent about it once I can create my own deob. Apparently java and C# are corporate staples (and very similar) so it doubles that way as well. Next I intend to learn python for flexibility; with Django framework specifically was recommended by friends. I've also been told from friends in banking that learning to implement Amazon Web Services holds some good value once you've picked a platform.

    A reminder that this is all anecdotal and I'm not really in the industry, but just food for thought.
    Last edited by anoobis; 01-19-2017 at 04:23 AM.

  3. #3
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Quote Originally Posted by anoobis View Post
    I am in a similar position and decided to learn Java. My inspiration was reflection given all the information and good source code to study here, and I'll feel decent about it once I can create my own deob. Apparently java and C# are corporate staples (and very similar) so it doubles that way as well. Next I intend to learn python for flexibility; with Django framework specifically was recommended by friends. I've also been told from friends in banking that learning to implement Amazon Web Services holds some good value once you've picked a platform.

    A reminder that this is all anecdotal and I'm not really in the industry, but just food for thought.
    Yeah I have heard Java is a good place to start.

    How is it to learn?

  4. #4
    Join Date
    Jun 2007
    Posts
    106
    Mentioned
    1 Post(s)
    Quoted
    33 Post(s)

    Default

    How is it to learn?
    It's been pretty simple. The hard part is supposed to be understanding objects but if you've used reflection or the Type declaration in Simba then all the logic should come pretty naturally.

    Learning to build the projects and setting up the classes (and using the IDE, I chose IntelliJ) was a little harder with no formal background but it is also pretty simple with a little meddling. It's definitely not as simple or intuitive as the little Python that I tried, which is why I decided to learn the "harder" language first.

    The speed I've been progressing has been motivating, and I haven't felt overwhelmed at all which I was worried about. Definitely would run through one of the mock courses and see how it feels.

    https://www.reddit.com/r/learnjava/

    I started here.
    It might feel a bit slow since you're already familiar with programming but it's pretty thorough and the TMC plugin can help you learn the syntax quickly. Part two was pretty much all new content for me.
    Last edited by anoobis; 01-19-2017 at 04:48 AM.

  5. #5
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Quote Originally Posted by anoobis View Post
    It's been pretty simple. The hard part is supposed to be understanding objects but if you've used reflection or the Type declaration in Simba then all the logic should come pretty naturally.

    Learning to build the projects and setting up the classes (and using the IDE, I chose IntelliJ) was a little harder with no formal background but it is also pretty simple with a little meddling. It's definitely not as simple or intuitive as the little Python that I tried, which is why I decided to learn the "harder" language first.

    The speed I've been progressing has been motivating, and I haven't felt overwhelmed at all which I was worried about. Definitely would run through one of the mock courses and see how it feels.

    https://www.reddit.com/r/learnjava/

    I started here.
    It might feel a bit slow since you're already familiar with programming but it's pretty thorough and the TMC plugin can help you learn the syntax quickly. Part two was pretty much all new content for me.
    Awesome. Thanks for the advice mate. Much appreciated!

  6. #6
    Join Date
    Jun 2007
    Posts
    106
    Mentioned
    1 Post(s)
    Quoted
    33 Post(s)

    Default

    Quote Originally Posted by Dan the man View Post
    Awesome. Thanks for the advice mate. Much appreciated!
    Yeah for sure. I'd be interested to see what those who already have a solid language repertoire have to say about it since the market seems so dynamic from an outsiders view.

  7. #7
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    I've got a uni class called structured & object-oriented problem solving, and we use Java as the programming language. Pretty new to it myself, but a lot of it makes sense. We use an IDE called Eclipse, and commit from both Eclipse, and command line. I managed to make some simple projects outside of class that were RS related. No punchline here, just sharing my recent experiences...

  8. #8
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    Can someone senior please explain which is better..

    IntelliJ or Netbeans or even Eclipse.

    Maybe even a reason or two as to why they prefer such IDE over the other.

    Thankyou in advanced

    <------------------>



  9. #9
    Join Date
    Dec 2007
    Posts
    2,112
    Mentioned
    71 Post(s)
    Quoted
    580 Post(s)

    Default

    Should try learn all languages that pique your interest. Most would be fairly useful. I found with programming that languages are easy to learn (the paradigm). Once you know one language quite well, its quite easy to apply the paradigm to another language for example, its quite easy to relate or map (Pascal) "begin" to (java/c/++ etc) "{". This is why many of us can read code that we've never coded in before. The concepts are harder to grasp though, most people miss this. IMO you haven't really learned a language until you develop your own style of coding in it.

    As for IDEs. You really gotta try them yourself. I used to swear by eclipse back 3-4 years ago, but moved onto IntelliJ. For basic development, its personal preference of course. But you can find yourself writing code which utilizes some libraries that you need to use one IDE or the other for. For example, I had a uni project about developing some web api using google app engine. I had to use eclipse cause there was no integration for google app engine with the free community version of IntelliJ without importing/compiling/uploading everything manually.
    Last edited by Kasi; 01-19-2017 at 02:48 PM.

  10. #10
    Join Date
    Sep 2008
    Location
    Not here.
    Posts
    5,422
    Mentioned
    13 Post(s)
    Quoted
    242 Post(s)

    Default

    Like I've done in many similar threads, I'm going to advocate python over java.

  11. #11
    Join Date
    Feb 2012
    Location
    Norway
    Posts
    995
    Mentioned
    145 Post(s)
    Quoted
    596 Post(s)

    Default

    pyyyyyyyython. Simple, big community, can do mostly whatever thanks to the huge number of modules. Has many different interpreters that works on different backends like jvm (jython), .net (ironpython), pypy (rpython), etc etc...
    !No priv. messages please

  12. #12
    Join Date
    Oct 2006
    Posts
    6,752
    Mentioned
    95 Post(s)
    Quoted
    532 Post(s)

    Default

    Python
    “The long-lived and those who will die soonest lose the same thing. The present is all that they can give up, since that is all you have, and what you do not have, you cannot lose.” - Marcus Aurelius

  13. #13
    Join Date
    Jul 2016
    Posts
    156
    Mentioned
    2 Post(s)
    Quoted
    81 Post(s)

    Default

    Potential career doing what? If you're thinking about learning a language for an industry, you need to identify what business you see yourself entering. There are many different programming jobs, and many different languages that a recruiter might be interested in.

    You later went out to mention a language that will be useful for gaming. Are you talking about scripting bots or developing games?

    Neither of the languages I would recommend meet any of your requirements, but I'll mention them anyways. D-lang and C are great choices for anyone wanting to learn general skills.

    Personally can't stand Python. I had a friend that started out in Java, and moved over to Python. He swears by it, and says it is so easy to accomplish tasks. Personally I don't find it intuitive, and I think the slow speed is a killer. Python is very slow compared to Java/C/D-lang/C++

  14. #14
    Join Date
    Sep 2008
    Location
    Not here.
    Posts
    5,422
    Mentioned
    13 Post(s)
    Quoted
    242 Post(s)

    Default

    Quote Originally Posted by Suburbia View Post
    Potential career doing what? If you're thinking about learning a language for an industry, you need to identify what business you see yourself entering. There are many different programming jobs, and many different languages that a recruiter might be interested in.

    You later went out to mention a language that will be useful for gaming. Are you talking about scripting bots or developing games?

    Neither of the languages I would recommend meet any of your requirements, but I'll mention them anyways. D-lang and C are great choices for anyone wanting to learn general skills.

    Personally can't stand Python. I had a friend that started out in Java, and moved over to Python. He swears by it, and says it is so easy to accomplish tasks. Personally I don't find it intuitive, and I think the slow speed is a killer. Python is very slow compared to Java/C/D-lang/C++
    The majority of the code the average programmer writes doesn't need to be extremely performant, and Python is *good enough* for like 90% of projects, especially web apps(you could in fact argue its the best, with django and flask being extremely powerful and approachable frameworks). If you do need something performant, it's easy enough to drop down to c/c++ and then call out to those(ex: numpy, a super fast python wrapper around mathematical functions written in c).

  15. #15
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Gotta find programs to make


    I want to learn Java but don't know what I'm supposed to write.

  16. #16
    Join Date
    Feb 2012
    Location
    Norway
    Posts
    995
    Mentioned
    145 Post(s)
    Quoted
    596 Post(s)

    Default

    Quote Originally Posted by tls View Post
    The majority of the code the average programmer writes doesn't need to be extremely performant, and Python is *good enough* for like 90% of projects, especially web apps(you could in fact argue its the best, with django and flask being extremely powerful and approachable frameworks). If you do need something performant, it's easy enough to drop down to c/c++ and then call out to those(ex: numpy, a super fast python wrapper around mathematical functions written in c).
    Going the C route (directly) is just one way, another is Cython, basically Python but with some limitations and some twists that allow you to generate pretty decent C code that uses CPython's C-API, and will from that build a CPython module that you can use in your normal python code, it can turn out very fast.
    PyPy is another very interesting project which offers a "middle"-thing, it's a lot faster then CPython which I assume @Suburbia; means when he says "Python". The downside is that a lot of existing modules rely on CPythons C-API, while PyPy will never fully support it, and instead requires you to use cffi or ctypes, this is a technical limitation, but also because unlike CPython, PyPy aims to be a standalone language, not having to rely on speedier lower level languages.

    There are several other libraries that aims to speed up the CPython-interprer, numba is another one, it will compile portions of your code into machinecode, all you have to do is to trow around some decorators. Numba is however something that is usually meant to go side by side with numpy.. so gnerally to speed up numeric array operations and similar.

    Tl;dr: PyPy is on the top of my list when it comes to ways how to speed up your code, as it's just regular plain python, only a lot faster.. But it really depends on how much faster you NEED your code to be, C and Cython often produces faster code, but it also involves a lot more tedious work.
    !No priv. messages please

  17. #17
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    A good start to python i found yesterday - https://www.jetbrains.com/pycharm-ed...indows-version

    i found the equivalent for C++ but i cannot find the link. i will dig deeper should anyone be interested

    <------------------>



  18. #18
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    I always wonder why people ask what language to learn. StackOverflow started banning questions like this. I just ask: What task are you doing? Choose the right language for the task not the other way around. Without a task, learning a language is a lot harder than it needs to be. You have no path, no goal, nothing.

    With IOT on the rise and a lot of AI and VR being pushed by the industry, I wouldn't choose Python and Java and those languages. That's the first mistake Raspberry PI made in my opinion. Choose a language that is RELEVANT to the task. I choose python when I need to code something quickly and I don't care about anything else OR when I need to script something or need some runtime capabilities. It doesn't belong in hardware.

    --

    Everyone says: "If you need speed, use JNI (Java) or Marshalling (C#) or wrappers around C".
    I say: "If you need speed, why the hell did you choose an interpreted language in the first place".

    People keep trying to make things easier or take the hard out of programming but that just lowers the standard of programmers in the end.
    In my opinion, find the task you want to complete and learn the language that will make that task easy. If your task requires performance, learn the languages that are known to be performant. If you task needs runtime capabilities, choose an interpreted or reflective language.
    People may guide you to a language or give you the pros and cons but most of the time they will give you their preferences.


    --

    You mentioned AppDevelopment. The languages for that are Java & XML (both for Android), Objective-C, Objective-C++, or Swift (all 3 for iOS) or C# if using Xamarin (for iOS & Android I don't recommend this at all), and C++ (with QML & QT for BlackBerry10).

    For Game Development, C++ is the only way to go. No serious game developer uses anything else. If it is a browser game, learn HMTML (Markup Language) & Javascript (Language) and do WebGL (API). If it is a very simple game, Java and C# will be fine.

    For Systems Development, Python, Ruby & Perl for scripting and fast tasks. C for low-level programming and embedded systems.

    For Web, HTML5, JavaScript, Java, Python. Learn HTTP-2 Protocol and why it's important for your WebServers.

    --

    P.S. I hate Python.
    Last edited by Brandon; 01-21-2017 at 01:39 AM.
    I am Ggzz..
    Hackintosher

  19. #19
    Join Date
    Feb 2012
    Location
    Norway
    Posts
    995
    Mentioned
    145 Post(s)
    Quoted
    596 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    *snip*
    For Web, HTML5, JavaScript, Java, Python. Learn HTTP-2 Protocol and why it's important for your WebServers.
    Just some nitpicking.. I would not at all recommend Java for webdevelopment in 2017, honestly I would never have recommended it, but at least now the world has caught up with me - I am referring to browsers discontinuing support for Java.

    Regaring game-development: A game can be SO MUCH different, it does depend on what kind of game you are aiming for. Will it be a resource hungry game? How complex is the game, etc etc.. I would a assume a lot of languages could be used - depending on what kind of game you are going for, but C++ is rarely a bad way to go.
    I'd like to mention that Eve Online is written in Python (stackless python).

    --

    P.S. I have a Love-hate kinda relationship with python.
    Last edited by slacky; 01-22-2017 at 08:08 AM.
    !No priv. messages please

  20. #20
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by slacky View Post
    Just some nitpicking.. I would not at all recommend Java for webdevelopment in 2017, honestly I would never have recommended it, but at least now the world has caught up with me - I am referring to browsers discontinuing support for Java.

    Regaring game-development: A game can be SO MUCH different, it does depend on what kind of game you are aiming for. Will it be a resource hungry game? How complex is the game, etc etc.. I would a assume a lot of languages could be used - depending on what kind of game you are going for, but C++ is rarely a bad way to go.
    I'd like to mention that Eve Online is written in Python (stackless python).

    --

    P.S. I have a Love-hate kinda relationship with python.

    I meant Java for the server side. Apache Tomcat supports Java and you can use JSP which is server side and gets translated to HTML before it hits the client. The browser doesn't need Java to render it. Similar to using C# and ASP with IIS and MSServer, the browser won't render anything in C# (like applets). Instead, it's all HTML and JavaScript by the time it hits the client.

    As for writing games in Python, meh. Often times developers sacrifice performance for portability. Jagex made the same mistake once. It does depend on the game, but I'd rather have a game that does NOT lag and uses my CPU and GPU to its fullest extent than one that bottlenecks. After all, we want the best out of our computers and games. I haven't played Eve so I'm not sure about it.
    Last edited by Brandon; 01-22-2017 at 02:55 PM.
    I am Ggzz..
    Hackintosher

  21. #21
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

    Default

    Thanks for all of the advice guys.

    I have attempted Python (once upon a time) and had a bit of trouble grasping it. Was for the Eventscripts plugin for Counter-Strike:Source.

    Didn't realise how diverse the language really was.

    I believe developing an app could be a good project that I could manage over a period of time.
    When I say game development, it was things like languages that compliment UDK, Source Engine etc.

  22. #22
    Join Date
    Sep 2008
    Location
    Not here.
    Posts
    5,422
    Mentioned
    13 Post(s)
    Quoted
    242 Post(s)

    Default

    Quote Originally Posted by Dan the man View Post
    Thanks for all of the advice guys.

    I have attempted Python (once upon a time) and had a bit of trouble grasping it. Was for the Eventscripts plugin for Counter-Strike:Source.

    Didn't realise how diverse the language really was.

    I believe developing an app could be a good project that I could manage over a period of time.
    When I say game development, it was things like languages that compliment UDK, Source Engine etc.
    https://learnpythonthehardway.org/ for learning the language.

  23. #23
    Join Date
    Jan 2007
    Location
    Not here
    Posts
    1,604
    Mentioned
    2 Post(s)
    Quoted
    19 Post(s)

    Default

    Quote Originally Posted by tls View Post
    https://learnpythonthehardway.org/ for learning the language.
    There are a lot of people that don't believe this to be a good resource for a number of reasons, some still swear by it however. I would recommend as a starter:
    https://automatetheboringstuff.com/
    It's a very practical method of learning the language and is about automating/making tasks easier which is something a lot of people here would find interesting (also 100% free). Having said that it's not super deep learning and is only good as a starter, I think it sets you up very well to move onto bigger projects.
    Sleeping...

  24. #24
    Join Date
    Jan 2012
    Location
    Sydney, Australia
    Posts
    877
    Mentioned
    12 Post(s)
    Quoted
    368 Post(s)

  25. #25
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    What are peoples opinions on RoR? the Ruby on Rails framework.. I never got very far with it.. but it is considered "object orientated"

    <------------------>



Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •