1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Development Best programming language to start off with?

Discussion in 'Software' started by J05H11E, 31 Aug 2010.

  1. Dae314

    Dae314 What's a Dremel?

    Joined:
    3 Sep 2010
    Posts:
    988
    Likes Received:
    61
    Interesting, how is Java not OO?
     
  2. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
  3. JazzXP

    JazzXP Eh! Steve

    Joined:
    30 Apr 2002
    Posts:
    1,669
    Likes Received:
    13

    I guess I should quit my job then. Java is one of the most used languages and is second only to C++ last time I looked.


    The things you say such as multiple inheritance doesn't define OO IMO (and is omitted from other OO languages such as Objective-C). It messes it up more than anything, and the most important parts of it can be replicated by interfaces.

    C++ primitives aren't objects either last time I checked....
     
  4. Dae314

    Dae314 What's a Dremel?

    Joined:
    3 Sep 2010
    Posts:
    988
    Likes Received:
    61
    First off, I don't think creating an int in C++ gives you a pointer to an integer object... I think it just allocates like 4 bytes in memory and assigns the variable to it. I could be mistaken though :3.

    For multiple inheritance, that concept doesn't seem to be an integral part of the OO paradigm. At least it's not as integral as say abstraction, encapsulation, polymorphism, and general inheritance is to a programming language being considered OO. For most intents and purposes (especially for beginners) Java is OO. It may or may not be completely OO, but any beginner can learn the main OO concepts from Java just fine.
     
  5. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Actually C/C++ is the most used programming language last time an article appeared on programming language statistics on Slashdot (yay for flamewars).

    C++ is OO-capable, not pure OO. Java isn't pure OO either since it still has primitives which aren't objects, ergo it isn't a pure OO language.

    In the end, though, I don't care much about OO. I mostly program in C++ and my code would work largely as C code aside from my use of the STL since I prefer structs over classes and a good interface defined in a header file with definitions in the source file over a cumbersome and hard to maintain class.

    This while I started off programming OO-style in Java, VB and even C++ :)
     
  6. Jedra

    Jedra Supermodel

    Joined:
    11 Sep 2010
    Posts:
    1,821
    Likes Received:
    44
    Everyone has their favourite language. As to what is best to learn very much depends on what you want to do. However I would say Java is a good place to start as it will then allow you to hop into other languages without too much trouble and at the same time give you a grounding in a commercial language.

    If you are looking to go freelancing then you will code is whatever is best for the job rather than your favourite language anyway, so you will end up picking up a few languages along the way.

    Someone mentioned the .NET stable, which is also a good place to start. Learning this and the Visual Studio environment will enable you to branch into web or pure application programming.

    My current 'favourite' language is Flex 4 - but that's mainly because it suited the application I am currently working on.

    If you want to be a web programmer then maybe start looking at HTML5, but then you will need some javascript as well. You have also then got to look at server side languages like Coldfusion, PHP or ASP.NET amongst others.

    If I were you I would look at what kind of programmer you want to be (i.e Web, Application, Embedded, Network etc, etc), and where you personally want to be in say 3-5 years and then research the technologies available in that field. Picking a language first may not be the best way forward until you know what it is you actually want to do!

    Hope this helps.
     
  7. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    I'm curious, how does knowledge of Java give you a good start in a language like C or C++? Other than general programming concepts, of course.
     
  8. wyx087

    wyx087 Homeworld 3 is happening!!

    Joined:
    15 Aug 2007
    Posts:
    11,994
    Likes Received:
    714
    i'd say C is the best to start off with, to get the hang of all the basics. then move on to C# for getting familiar with OO
     
  9. Jedra

    Jedra Supermodel

    Joined:
    11 Sep 2010
    Posts:
    1,821
    Likes Received:
    44
    @Elledan - just that. General programming concepts. From my view, if you are going to learn a language, you may as well start off with a commercial language. Once you know one language then you can pretty much pick up any language with a bit of effort. I wasn't emplying that they were the same - patently they are not. The real world applications for C and Java are very different. Apologies if my post intimated that they were the same.

    I don't see any real benefit in learning something like Pascal as it has no proper application other than as a learning tool.

    I don't advocate any language really as it depends what you want to do. Over the years I have used them all and I don't really think any one language stands out as better than another other than the application it is being applied to.
     
  10. BentAnat

    BentAnat Software Dev

    Joined:
    26 Jun 2008
    Posts:
    7,230
    Likes Received:
    219
    I still think that for most people, C is too complicated. Too far from spoken languages.
    Other languages are too far from programming concepts, again. (example here: Ruby on Rails - just picking that up is going to not teach you much except for coding in Ruby).

    A good entry language (IMO) should be both, an introduction to the concepts of coding, as well as easy to learn (i.e. close to spoken words).
    it should also be fruitful quickly (i.e. you should see results quickly).
    This is why I'd advise VB.NET:
    -It's got a good IDE
    -It features Drag and Drop for interfaces, making it cool for seeing results quickly
    -Thanks to .NET, it has a solid foundation in terms of coding standards (you will, for example be faced with "what is a string, and what are the limitations").

    It's got drawbacks, that's for sure. For one, it's a language that doesn't abide AT ALL to what I refer to as C-Syntax (but is probably called something else).
    This would mean that lines end in semicolons, and loops/functions/etc are surrounded by braces.
    The reason why C-Syntax is important (to an extent, and again - my opinion) is because a lot of languages use it.
    Java, Javascript, C,C++,C#,PHP,LotusScript (often), etc.

    I am using VB.NET as an example, though... it's not the one-size-fits-all starting language. That really boils down to a billion factors. I, for example, started on ANSI C... :/
     
  11. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    C/C++ is the one language which can carry one's career all the way from embedded systems to high-end server systems, and it's still the most asked for skill among software engineers. Among my company's area of expertise (game development) you'd be hard-pressed to see anything other than C/C++ being used for core stuff, especially the game engine itself. Knowing Java/C# would be utterly wasted here.

    Virtually every library out there also has a C-style interface, meaning that they can be used in C/C++, making it the language with the most extensive software library.
     
  12. Jedra

    Jedra Supermodel

    Joined:
    11 Sep 2010
    Posts:
    1,821
    Likes Received:
    44
    I'm backing away slowly now!

    I started with COBOL on a PDP-11 by the way. Not that I am suggesting COBOL is a good place to start - those pesky full-stops - I am so glad we all moved on to semi-colons ;-)
     
  13. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Wasn't COBOL developed as a language even manager-types could understand? Basically the VB of yesterday? ;)
     
  14. Jedra

    Jedra Supermodel

    Joined:
    11 Sep 2010
    Posts:
    1,821
    Likes Received:
    44
    Thankfully none of my managers could ever understand it! But yes in a way it was hence COmmon Business Oriented Language (COBOL). SQL was also designed with that in mind too. Nightmare scenario is a manager who thinks he's a programmer!!
     
  15. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    PHBs :D

    I'm glad I'm my own boss. Best boss I have ever had ;)
     
  16. BentAnat

    BentAnat Software Dev

    Joined:
    26 Jun 2008
    Posts:
    7,230
    Likes Received:
    219
    This is a valid point.
    HOWEVER, C++ is not easy to learn if you've never coded before. C# is friendlier there. And C# would serve as a decent platform to get into C/C++ from in time, as it has solid coding syntax that's a lot like C++.
     
  17. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Heh. Speaking as someone who started real programming with C++ and has used C# for professional projects, C++ is a heck of a lot easier. The C++ STL is uncomplicated enough that you can browse through its features within a few hours. The C# library is such a convoluted mess that you need a flashlight, map and compass to even find your way back when you get lost seconds after entering the documentation for it. It's definitely not something I would advise to a novice to start with.

    The C-style syntax is the most widely used and easiest to understand/read. C# and C++ both use it and in my experience programming C# after learning C++ first doesn't take any special knowledge other than the usual stuff about it running on a CLR instead of as native code which introduces some restrictions.
     
  18. Jedra

    Jedra Supermodel

    Joined:
    11 Sep 2010
    Posts:
    1,821
    Likes Received:
    44
    The OP has probably read all this and decided to take up painting instead ;-)
     
  19. itjobsinusa

    itjobsinusa itjobsinusa

    Joined:
    18 Sep 2010
    Posts:
    1
    Likes Received:
    0
    Java is a good programming language. However, C/C++ seems to be another perfect choice. C++ can do virtually most operation and routine Java can do and lot more.

    When Java evolved, I thought that C/C++ will fade into the thin air. Ironically, C/C++ has contained to wax stronger. It's interoperability, portability, cross-platform compatibility, robustness and adaptability makes it a language of choice.
     
  20. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Heh, you don't want to get into the flamewars between painters on which techniques, paints and tools to use. I hear it can get pretty ugly :eeek:
     

Share This Page