Indigo Rose Software

Professional Software Development Tools

 
Page 1 of 2 1 2 LastLast
Results 1 to 15 of 19
  1. #1
    Join Date
    Apr 2010
    Posts
    529

    Best programming language??

    This goes out to all you "hard-core" programming junkies, and the weekend warriors.

    What programming language would be the best to learn? Knowing nothing (other than AMS) what language would you learn and why. I know some are more difficult than others, some are cross-platform compatible, etc, etc.

    I don't want this discussion to turn into a free-for-all, tear down the walls argument, just looking for pros and cons.

    I think this will be helpful to anyone looking to move their programming outside of AMS.

    Cheers,
    Dean

  2. #2
    Join Date
    Feb 2009
    Posts
    1,285
    I think there's no best programming language.. there is only the programming language that suits your needs.
    If by using a programming language you can't get the results you want then it's not the best programming language; as instead, the same programming language may be the best for others who got the results they want.
    It all depends on you

  3. #3
    Join Date
    Apr 2010
    Posts
    529
    Thanks T3STY,

    I figured the first few posts would set the "ground rules" for this discussion...

    "Best" may not have been the best title, perhaps it should be more a discussion of how the languages rank. It seems C++ is the top-dog, and while harder to learn also offers the most (?) capability. Purebasic is easier to learn, but does it have the same abilities as C++ or what are the limitations. And any others...

    Cheers,
    Dean

  4. #4
    Join Date
    May 2006
    Posts
    5,380
    PureBasic Rocks, to be honest, theres not much it cant handle, as BASIC compilers go, nothing can touch it!

    For all out power and compatibility, you want C++, but the learning curve is practically vertical

    My advice would be, if you have the time to put in to learn C++ then go for it, its the only front runner, if time is an issue, go for PureBasic, forget other BASIC's (but saying that, PowerBasic looks pretty good at face value)

    There are many other considerations, REALBasic has a great IDE, amazing visual approach to application building, but its expensive (compared to PureBasic) and it does not compile DLL's, so again, PureBasic wins hands down over almost everything iv seen or tested myself

    Delphi looks pretty good, but never given it the time of day

    all in all, everything iv mentioned has restrictions compared to C++, take object plugins for instance, they can only be made with C++, but ... with a small C++ "Proxy" (thanks again reteset) we can now make object plugins in both Delphi and PureBasic or any other language that can link to lua and compile DLL's

    The so called *Best* is the tool that gets the job done, PureBasic has never let me down and us plugin developers can make AMS do things most users wouldn't imagine can be done, so my tools of choice are AMS and PB

    way back, i asked the same sort of question, Worm, Intrigued and Dermot pointed me to PB and i thank them all for that advice as i have not looked back since
    Open your eyes to Narcissism, Don't let her destroy your life!!

  5. #5
    Join Date
    May 2006
    Posts
    1,443
    Actually , there is no best programming language
    because , it depends on the target environment you will work

    but i can say , world's most popular language is C - yes that old C language
    because you can write programs for many OSes mostly cross platform
    it does not mean a single exe will work on all operating systems (different compilers needed)

    web servers , database servers , and many others written in C including Lua

    and C++ is big brother of C language
    for a real programmer C++ is a required skill
    however , like i said , it depends on the target environment
    i know C/C++ and Delphi languages but when i look at the local job offers
    they all want C# knowledge , so i have to learn C# to work on a local software company

    finally , if someone asks for my suggestion on the programming language to learn
    i always suggest C++ then C#

    many people assume that C++ is difficult to learn when they first start
    but actually C++ is not difficult , the difficult thing is WinApi
    this is a common confusion for beginners - For example they assume SDK data types as C++ types etc.

  6. #6
    Join Date
    Feb 2009
    Posts
    1,285
    It seem to me that C++ is easy to understand and the syntax is not hard at all. But I may be wrong because I didn't got the hard things yet...

  7. #7
    Join Date
    May 2006
    Posts
    5,380
    i agree, i can do some basic things in C++ like write a simple class and print data to a console window, but when it comes to actually making a window with objects, forget it, im lost!
    Open your eyes to Narcissism, Don't let her destroy your life!!

  8. #8
    Join Date
    Apr 2010
    Posts
    529
    Hey all,

    Great discussion and lots of good information. I (and possibly others) appreciate this good input.

    Hmmmmm.... now what to learn........

    Cheers,
    Dean

  9. #9
    Join Date
    Apr 2007
    Location
    Raalte, OV, Netherlands
    Posts
    3,287
    • PureBasic
    • C++
    • C
    • C#
    • Lua
    • Assembly
    • VB

    My favourites, however these may come in handy as well:
    • PHP
    • SQL
    • JavaScript

    If you want to do some neat things with php + AMS or php+PureBasic and Javascript for some nice displaying in a web control.

    In my honest opinion, there is not any language which is the easiest to start with, you could start with C++ or with PureBasic, or with C. But as many have said to me before, is that Assembly is actually really easy to learn if you never programmed before. I could hardly believe this because I learnt Assembly in a later stage of my life and I even found it really hard to learn.

    I'd say, start in PureBasic or C/C++. These will tell you the most about the Windows API, so it'll be smart to start out using such a language. This will learning more languages a bit easier because you then already know the WinAPI.

    PureBasic is Cross Platform, as are C, Assembly and Lua, C++ etc etc.

    The only thing which isn't xPlatform, is AMS

    Just start out with whatever feels good to you!
    Bas Groothedde
    Imagine Programming :: Blog :: Familiar people here

    My AMS Plugins:

  10. #10
    Join Date
    Apr 2010
    Posts
    529
    Bas, reteset, Dean, T3STY,
    Thanks, this is all great information.

    It sounds like there are benefits to knowing either C/C++ or PureBasic and learning one over the other may not be much different.

    Here's the kicker: what is the difference between PureBasic compared to C/C++. If C/C++ existed first, what niche was trying to be filled with PureBasic? What are the benefits, in your experiences, of one over the other?

    Thanks,
    Cheers,
    Dean

  11. #11
    Join Date
    Apr 2007
    Location
    Raalte, OV, Netherlands
    Posts
    3,287
    Well, PureBasic and C/C++ are completely different. (C/C++ are different too), PureBasic has a real pure and easy syntax, no brackets and all variable definitions are short and simple. I like a clear syntax in which you can easily see what things are. I like C++ because of how compact you can make the code, and the OOP system which PureBasic doesn't natively have. You can program object oriented in PureBasic, but via the use of interfaces, structures and virtual function tables. That all makes OOP way more complicated in PureBasic than in C++.

    Furthermore I prefer PureBasic over C++ because of the large variety of already included libraries and functions, also the compiler detects what libraries you used in the code so you usually won't have to manually include and import sources and libraries. Another nice thing is, that PureBasic supports the WinAPI natively, meaning you won't have to include anything because it basically works like any other PureBasic library.

    A normal Pure/User library has functions, you call those by typing the name.
    The WinAPI implementation in PureBasic is a bit different, you type a WinAPI function appended by an underscore.
    That's it, the compiler will include the necessary libs.

    As you can see there are many advantages in PureBasic, but C++ has some too, like the huge community online posting code and libraries for you to use in your projects, as where the PureBasic community isn't that large yet. Even though there are thousands of libraries for PureBasic already online, purebasic.com/forums has a huge supportbase and most C++ libraries work in PureBasic as well.

    Download the demo and try it out, try C++ and compare your opinions. Pick whichever feels right to you

    We should have a competition, some sort of goal that a C++ developer and a PB developer both try to achieve, lets see who wins (I like competitions in coding )
    Bas Groothedde
    Imagine Programming :: Blog :: Familiar people here

    My AMS Plugins:

  12. #12
    Join Date
    Feb 2009
    Posts
    1,285
    @IP: Why not PB vs C/C++ vs LUA? That would really be funny!
    Anyhow, i just want to add to what IP said that different Programming Languages (PL from now on) have a different syntax approach. In some new P.Ls. you'll se code written as it would be spoken by somebody. I saw a few lines of code some time ago of a VB project where variable declaration was similar to this:
    Code:
    Dim VARIABLE As String = "This is a string."
    The same thing in C++:
    Code:
    string VARIABLE="This is a string.";
    As you can see, VB is really much more similar to our human spoken language. Instead, C++ is more machine-like language.

    The syntax approach is important when you want to learn a new PL because if you can't understand machine like language syntax it's very hard to understand the PL itself. Usually though, once you've learned the basics of a PL it comes much more easier to understand complex code (which for real it's not so complicated, it still follows PL's basics...).
    Just to know how hard could it be C++:
    Code:
    #ifndef _IOSTREAM_H
    #ifdef __GNUG__
    #pragma interface
    #endif
    #define _IOSTREAM_H
    
    #include <streambuf.h>
    
    extern "C++" {
    class istream; class ostream;
    typedef ios& (*__manip)(ios&);
    typedef istream& (*__imanip)(istream&);
    typedef ostream& (*__omanip)(ostream&);
    
    extern istream& ws(istream& ins);
    extern ostream& flush(ostream& outs);
    extern ostream& endl(ostream& outs);
    extern ostream& ends(ostream& outs);
    
    class ostream : virtual public ios
    {
        // NOTE: If fields are changed, you must fix _fake_ostream in stdstreams.C!
        void do_osfx();
      public:
        ostream() { }
        ostream(streambuf* sb, ostream* tied=NULL);
        int opfx() {
    	if (!good()) return 0;
    	else { if (_tie) _tie->flush(); _IO_flockfile(_strbuf); return 1;} }
        void osfx() { _IO_funlockfile(_strbuf);
    		  if (flags() & (ios::unitbuf|ios::stdio))
    		      do_osfx(); }
        ostream& flush();
        ostream& put(char c) { _strbuf->sputc(c); return *this; }
    
    (...)
    
    inline ios& oct(ios& i)
    { i.setf(ios::oct, ios::dec|ios::hex|ios::oct); return i; }
    } // extern "C++"
    
    #endif /*!_IOSTREAM_H*/
    This is only part of the code from the c++ library iostream.h. Easy, huh?

    I hope this comes useful in making your choice
    Last edited by T3STY; 02-21-2011 at 06:56 AM.

  13. #13
    Join Date
    May 2006
    Posts
    5,380
    Dean, if you decide to take up C++, i highly recommend the books "C++ for Dummies" and "Sams Teach yourself C++ in 24 hours", both these books cover the basics of C++ programming, both contain the same information but i found it really helpful to read both, C++ compilers and examples included in the book CD's

    I keep meaning to get myself a C++ windows programming book to cover the basics of windows programming in C++, now i have many a night feeding and winding baby i may just get a few books to keep me company

    Also, as C++ editors go, i found "Code::Blocks" to be pretty good, but thats just IMO
    Open your eyes to Narcissism, Don't let her destroy your life!!

  14. #14
    Join Date
    Feb 2007
    Location
    Como, Italy
    Posts
    1,415
    Rizla,
    you mentioned RealBasic and this made me very curious. I gave a look at the website and RalBasic seems very good.
    I've not time yet to try the evaluation version.
    Just wondering if, except for the price and for the fact that it is not able to create DLLs, you can give me some more opinions about RealBasic based on your experience in programming.

    Many thanks in advance if you can take time to reply.

    (if someone else has experience with RealBasic, any opinion will be welcome too)

    Cheers
    We are slowly invading your planet to teach lazy humans to read the user manual.
    But don't be scared: we are here to help.

  15. #15
    Join Date
    May 2006
    Posts
    5,380
    i only ever gave RealBasic (or RealStudio as its known now) a quick look for testing, and while i was impressed i put it aside for PureBasic because of the DLL creating possibility

    What i did like about RealBasic was the intuitive design IDE, its in a class of its own, the language is very much like the VB syntax so if you know VB you will quickly pick up RealBasic

    RB also has many object types, native database and socket support and many other cool features

    its well worth taking the time to check out
    Open your eyes to Narcissism, Don't let her destroy your life!!

Page 1 of 2 1 2 LastLast

Posting Permissions

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