none
Next Language after SmallBasic RRS feed

  • General discussion

  • Hey guys!

    First, this is no direct SmallBasic question. But I would like to hear your opinion. I think this would be helpful for everyone who want learn another language too.

    Now, I would like to start learning another programming language after Christmas. I found many different ones like Java etc.. I would like to hear from you, which language is the best for it (I listed the languages which I would like to learn at the bottom). I would buy a programming book for this language. There are a few very good German books for it. Everyone who is interested in it may follow this link. It is the German edition, but you can translate it with a translator tool. If I remember right, there are English editions of some books too.

    Now, I want to start an education as a professional information scientist for application development (original translation from the German language). That's why I do not want to learn Visual Basic at the moment. I listed the languages I am interested in below.

    - Java

    - Java Script

    - C

    - C#

    - (Node.js)

    - Python

    - (Unix-Shell)

    Next, I would like if you could explain me what this languages are for:

    - F

    - Perl

    - Ruby

    - VMware

    - Git

    I want to create simple 3D games (something like Minecraft, but not so complex! Placings cubes would be enough for the start.) and programs like a file manager or an installer.

    I would like to hear your opinion! Which language should I learn? For all these languages are very good books on the market and my father can help me with some basics too. I am looking forward to your answers. :)


    Greetings Timo



    • Edited by Timo Sö Monday, December 17, 2012 1:27 PM
    • Edited by litdevModerator Monday, December 17, 2012 5:30 PM Title Changed
    • Changed type litdevModerator Monday, December 17, 2012 5:31 PM
    Monday, December 17, 2012 11:55 AM

All replies

  • Just some clarifications:

    • Node.js is somewhat a environment server for JavaScript.
    • Unix-Shell is command line interface programming, generally Bash. Even Windows has its own version.
    • VMWare is a x86 PC machine emulator. Another good one is VirtualBox. There are others as well.
    • Git is a cooperative-friendly host server for developing programs w/ easy version control.

    In short, they are not necessarily programming languages!


    Click on "Propose As Answer" if some post solves your problem or "Vote As Helpful" if some post has been useful to you! (^_^)

    Monday, December 17, 2012 12:34 PM
    Answerer
  • I guess it depends what you want to do with the language - web development, windows application programming, graphics intensive (games), database etc.

    However, as a follow on from SmallBasic I would go for C#.  It has all of the main OO (object orientated) ideas which are hard to get to grips with from scratch (hence SmallBasic is a great starting point before tackling C#), but are very transferable once understood.  C# has lots of support, tutorials and documentation.  It is a lead in to C++ and java which are not .Net and more complex, but faster and ultimately more powerful.  Writing small extensions for SmallBasic is a good way to get started with C#.  I would also look at some others at the same time, perhaps python, php and also HTML - XML based languages are the flavor at the moment for visual and data driven applications.

    Good luck.

    Monday, December 17, 2012 12:50 PM
    Moderator
  • Now my programming language list. Note that most of them are still on my target list.  :D

    Any one of them is general-purpose languages which can do almost anything.

    But I'm gonna list them where they are very good at:

    Games:

    Graphics + Web:

    Web:

    • CoffeeScript, a direct JavaScript compiler and can be used inside Node.js -> CoffeeScript

    GUI & RAD:

    • C#, which is very similar to Java and plus a tiny bit of Small Basic ^_^ -> C#, C# IDE

    Well, that's all for now folks!  :P


    Click on "Propose As Answer" if some post solves your problem or "Vote As Helpful" if some post has been useful to you! (^_^)

    Monday, December 17, 2012 1:00 PM
    Answerer
  • Thanks for the correction. I forgot to write that I would like to create (a) small 3D game(s) (nothing difficult for the start) and programs like file managers or installers. Something like this. But I don't want to create websites. I am horrible in this...

    So, do I understood you right LitDev? C# is easier to learn if I know SB? Is there a tutorial for creating a SB extension with C#? I only found one for Visual Basic.

    GoToLoop, your languages looks nice! I know Python, because I started to write some mods for my favourite game a few months ago. This game used Python. But it used v 2.6. I do not understand how Python works...

    I will add a few things to my main post (corrections etc.).


    Greetings Timo


    • Edited by Timo Sö Monday, December 17, 2012 1:24 PM
    Monday, December 17, 2012 1:22 PM
  • Yes, the ideas or variables, loops (for and while), conditionals (if, elseif), arrays, events, subroutines etc all apply so knowledge of SB is a great start.  The ideas are the similar, but the syntax is different.  The biggest difference to start with are that variables have different types: integer, double, float, string etc; also types can be more complex like GraphicsWindow and types you create yourself (classes).  There is a getting started guide for C# extensions on my website here (Other Resource Downloads - Guide to writing extensions) and on the technet here.
    Monday, December 17, 2012 1:37 PM
    Moderator
  • On www.python.org you find all sorts of help for Python.

    In the menu on the left under non-English resources you can choose German language (Deutsch) and find all sorts of help in German (Wiki, tutorials etc.)


    Jan [ WhTurner ] The Netherlands

    Monday, December 17, 2012 2:15 PM
    Answerer
  • ... I would like to create (a) small 3D game(s) (nothing difficult for the start) and programs like file managers or installers. Something like this. But I don't want to create websites. I am horrible in this...

    The list I have provided is not necessarily intended for web-design!

    ProcessingJS & CoffeeScript for example, are intended to make programs which run inside a browser, be that games, graphics, animation and even general-purpose ones!

    For 3D games, you're gonna need advanced game engine frameworks, in the likes of Unity3D for example!

    However, it's outta our league I'm afraid so!

    Perhaps you may take a look at Alice and Kodu. Just as a training ground!

    My advice is to stick around 2D games for now though.  :P


    Click on "Propose As Answer" if some post solves your problem or "Vote As Helpful" if some post has been useful to you! (^_^)

    Monday, December 17, 2012 2:29 PM
    Answerer
  • - Java

    - Java Script

    - C

    - C#

    - (Node.js)

    - Python

    - (Unix-Shell)

    Greetings Timo


    Since the explanations have already been provided:

    Java may be a good choice. It is similar to C#, but provides a few less features that make C# a bit more powerful.
    JavaScript isn't like Java (common misconception, though), and you should only really learn it if you want to do web stuff or Windows 8 applications that are made with HTML5, CSS, and JavaScript.
    C you shouldn't learn unless you will be writing operating systems or programming for embedded systems with barely any resources.
    Node.js is a platform for JavaScript that uses Google's V8 JavaScript Engine. Not a language.
    Python is usually a good place to start, and can be useful if you ever go into web development.
    UNIX Shell isn't a programming languageYou were probably thinking of Bash scripts, which run through Bash, which is a common UNIX shell. Not really useful to learn unless you're going to be programming for platforms where Bash is abundant (i.e. *NIX, Linux).

    Monday, December 17, 2012 4:29 PM
  • Alright GoToLoop. :)

    I think that I would use the IrrLicht engine or something like this. I do not want to create a browser game.

    Thanks for the detailed information Liam McSherry. That helped me a lot.


    Greetings Timo

    Monday, December 17, 2012 5:48 PM
  • Most 3D games use C++, which is a bit harder than C#

    • In C++ you have to take care of all the memory management (pointers) which is mostly done for you in C#.
    • C++ is fast, but a low level language (just creating a window and drawing a circle in it can take 100s lines of obscure looking code).
    • C++ libraries (to create windows or do graphics or anything much else) often have a very large number of methods that take a while to become familiar with.

    I would start with C#, then if 3D games is the objective also look at C++ (where most libraries are), but don't expect to master C++ in few weeks.

    Monday, December 17, 2012 7:14 PM
    Moderator
  • Yeah. My plan was to start with 1 of the languages above. I think I will use C#. If I am good in C#, I will look again what I will do next. Perhaps I will change my plans in 1-2 years. :)

    I think that I will need around 1 year (perhaps a bit more) to be good in C#. But of course I don't want to stop programming in SB. I like SB. It is a funny, easy and powerful language.

    EDIT:

    I think that Ed or another administrator should create a thread which explains some other languages which everyone can start after SB. Like C#. Than he/she can make it sticky.


    Greetings Timo



    • Edited by Timo Sö Monday, December 17, 2012 7:21 PM
    Monday, December 17, 2012 7:19 PM
  • Good idea, perhaps a technet page that can be updated by different users describing the uses, advantages and disadvantages of different follow-on languages.
    Monday, December 17, 2012 7:31 PM
    Moderator
  • Hi Timo! I have a suggestion that is quite a bit different than what most people do. 

    First, I started out writing the PlusPlus Extension in C#, which I got down pretty quickly. Next, I learned about Operating System development from osdev.org and started using a COSMOS (cosmos.codeplex.com), a tool to write OS's in C#. After that, I picked up x86 assembly language from Randall Hyde's Art of Assembly Language (available as a free e-book) and used that to add some assembly language tasks to my C# OS. 

    With that, in a little over a year, I had a good understanding of high-level programming (C#) and a good grasp on the crazy x86 architecture with all of its intricacies (believe me, there are a lot!). 

    If you decide to go that route, the people at the OSDev forums as well as the COSMOS forums on CodePlex are very nice and helpful. 


    Please mark any answers and "vote as helpful" any posts that help you!



    • Edited by gungan37Editor Tuesday, December 18, 2012 12:41 AM Fixed broken links
    Tuesday, December 18, 2012 12:35 AM
    Answerer
  • Thanks for your suggestion gungan! I will have a look on it!

    I am sorry that I answer so late, but I have a lot to do. Tomorrow, I have my driving test for the driver's license. So I must learn a lot. :)


    Greetings Timo

    Wednesday, December 19, 2012 3:58 PM
  • I am currently upgrading to JavaScript and it seems pretty similar to SB.

    A spark to start a fire is necessary. But mainly you need dry kindling.

    Wednesday, December 19, 2012 5:16 PM
    Answerer
  • Thanks Zock!

    But it looks like JavaScript is - mostly - for web programming. But I want to program software/games without big web contents. So I will try C#.

    But tanks very much!


    Greetings Timo

    Wednesday, December 19, 2012 6:19 PM
  • The main reason I doing it is to make games for the smartphone.

    A spark to start a fire is necessary. But mainly you need dry kindling.

    Wednesday, December 19, 2012 6:46 PM
    Answerer
  • C# + xna (as well as VB) produces good 3d games, moreover, it's a best way to produce 3d games for Windows Phone 7 and 8.

    C# + SlimDx (as well as VB) is another good choice. i think this makes better performance on PC than xna.

    C++ + native directX has the best performance on PC or Windows Phone 8 or Windows RT. but i dont like C++...

    i am a VB fans...

    Friday, December 21, 2012 2:36 PM