• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Junilu Lacar
Sheriffs:
  • Rob Spoor
  • Liutauras Vilda
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Piet Souris
  • Tim Holloway
  • Jj Roberts
  • Stephan van Hulst
Bartenders:
  • Himai Minh
  • Carey Brown
  • Frits Walraven

Recommendations of languages based on tasks?

 
Ranch Hand
Posts: 356
Android Netbeans IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So in my Computer Science club at school I always love hearing people argue which language is the best. A few kids taking one of the intro comp-sci courses talk about Python and that their professor loves it, and that it's "better than Java." To me I think "What are you using it for?" I am curious what the Ranch thinks about languages based on certain tasks.

For now I really only know Java, and some C++, but I would like to learn more; however is it worth it, and what languages would I need based on what I'm doing? Currently I am creating a simple dice game with Java and Open GL. I am also working on a business application using both as well. As for app development I am also using Java and going to put my game up as an app.

I personally love Java a lot because of it's connectability to EVERYTHING. You can use Java all over the place; however I hear there can be issues with Java being slower than other programs, and Java might not be the best.

So it really comes down to what am I looking to do, and what languages would be the best for:

Apps
Desktop Applications
Internet Applications
Client-Server
Gaming
etc

I know a lot of people also mix languages together based on what they need to do, is this really worth it? Would it be better if everything was coded in 1 language, but having API's from another language like Open GL. I definitely do not want to be limited to Java, but is it worth it to do other things? I know with Apps you need XML and web stuff like HTML/JS is obvious. I've heard of Scala being used a lot with Java, how does that get integrated in our uses?

Any information on other languages and/or using them with Java would be appreciated,

Thanks,

~JO

 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sorry to disappoint you, Jay, but there really is no language that is intrinsically "best" for anything.

Each language will have different pros/cons that may be relevant for a particular application area - I wouldn't want to write a device driver in PL/SQL, for example! - but there are lots of factors outside the language itself which are also important:

  • What is the target environment and what hardware/software does your code have to integrate with?
  • Do you already have the skills available for using this language? Are you already a Java/.NET shop, for example?
  • Are those skills available widely on the market, or would you have to invest in hiring/training specialists?
  • Are you working for an organisation that is prepared to invest in complex software engineering (like a software house) or are you just a small IT department in another business that really just wants cheap plug-and-play systems?
  • What kind of tools or frameworks exist to support the use of the language?
  • Will the language still be around and supportable for the expected lifetime of your system?
  • Do other people use it, as this influences the likely availability of skills/support?


  • The costs associated with acquiring/retaining skills and support for a particular language or platform are an important factor that often gets ignored by techies, who often want to dive into the latest cool language without necessarily thinking about the commercial consequences. Scala looks great, for example, but right now I suspect many people in the mainstream IT industry are cautious about investing heavily in a technology that has not yet reached the critical mass where they can be sure of being able to support that investment in future. Meanwhile, there are lots of valid criticisms that can be made of the complexity and costs associated with enterprise Java projects (I've seen some truly disastrous JEE projects), but at the same time those skills are widely available, the technologies are familiar and available on many different platforms, and there is a tendency towards groupthink in the industry anyway ("Nobody ever got fired for buying IBM" and all that) so Java is often the default choice for many projects unless people have particular reasons for choosing other options. Which is a pity, as I'd certainly like to get into more "polyglot programming" myself, but nobody's paying me to do so right now...

    Anyway, I'm sure the other JavaRanchers can come up with lots more factors that will influence the choice of language for a given application/environment.


     
    Jay Orsaw
    Ranch Hand
    Posts: 356
    Android Netbeans IDE Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    chris webster wrote:Sorry to disappoint you, Jay, but there really is no language that is intrinsically "best" for anything.

    Each language will have different pros/cons that may be relevant for a particular application area - I wouldn't want to write a device driver in PL/SQL, for example! - but there are lots of factors outside the language itself which are also important:

  • What is the target environment and what hardware/software does your code have to integrate with?
  • Do you already have the skills available for using this language? Are you already a Java/.NET shop, for example?
  • Are those skills available widely on the market, or would you have to invest in hiring/training specialists?
  • Are you working for an organisation that is prepared to invest in complex software engineering (like a software house) or are you just a small IT department in another business that really just wants cheap plug-and-play systems?
  • What kind of tools or frameworks exist to support the use of the language?
  • Will the language still be around and supportable for the expected lifetime of your system?
  • Do other people use it, as this influences the likely availability of skills/support?


  • The costs associated with acquiring/retaining skills and support for a particular language or platform are an important factor that often gets ignored by techies, who often want to dive into the latest cool language without necessarily thinking about the commercial consequences. Scala looks great, for example, but right now I suspect many people in the mainstream IT industry are cautious about investing heavily in a technology that has not yet reached the critical mass where they can be sure of being able to support that investment in future. Meanwhile, there are lots of valid criticisms that can be made of the complexity and costs associated with enterprise Java projects (I've seen some truly disastrous JEE projects), but at the same time those skills are widely available, the technologies are familiar and available on many different platforms, and there is a tendency towards groupthink in the industry anyway ("Nobody ever got fired for buying IBM" and all that) so Java is often the default choice for many projects unless people have particular reasons for choosing other options. Which is a pity, as I'd certainly like to get into more "polyglot programming" myself, but nobody's paying me to do so right now...

    Anyway, I'm sure the other JavaRanchers can come up with lots more factors that will influence the choice of language for a given application/environment.




    Yeah for sure, I figured that some languages are better for certain things over other languages, and I do agree that everyone is trying out all the new toys and not really seeing where it is going... It's like you said which languages will be supported in the future, and which languages have a huge userbase and will be able to keep the language a float.
     
    clojure forum advocate
    Posts: 3479
    Mac Objective C Clojure
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Personally I don't want to spend my career with only one programming language. Learning new languages is amazingly fun!
     
    You showed up just in time for the waffles! And this tiny ad:
    Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    reply
      Bookmark Topic Watch Topic
    • New Topic