aspose file tools*
The moose likes Other Languages and the fly likes Recommendations of languages based on tasks? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Languages » Other Languages
Bookmark "Recommendations of languages based on tasks?" Watch "Recommendations of languages based on tasks?" New topic
Author

Recommendations of languages based on tasks?

Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

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

chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1772
    
  14

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.



    No more Blub for me, thank you, Vicar.
    Jay Orsaw
    Ranch Hand

    Joined: Jun 14, 2011
    Posts: 356

    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.
    Hussein Baghdadi
    clojure forum advocate
    Bartender

    Joined: Nov 08, 2003
    Posts: 3479

    Personally I don't want to spend my career with only one programming language. Learning new languages is amazingly fun!
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: Recommendations of languages based on tasks?