Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 288119
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T05:47:14+00:00 2026-05-12T05:47:14+00:00

I’m a scientist working mostly with C++, but I would like to find a

  • 0

I’m a scientist working mostly with C++, but I would like to find a better language. I’m looking for suggestions, I’m not even sure my “dream language” exist (yet), but here’s my wishlist;

IMPORTANT FEATURES (in order of importance)

1.1: Performance: For science, performance is very important. I perfectly understand the importance of productivity, not just execution speed, but when your program has to run for hours, you just can’t afford to write it in Python or Ruby. It doesn’t need to be as fast as C++, but it has to be reasonably close (e.g.: Fortran, Java, C#, OCaml…).

1.2: High-level and elegant: I would like to be able to concentrate as most as possible on the science and get a clear code. I also dislike verbose languages like Java.

1.3: Primarely functional: I like functional programming, and I think it suits both my style and scientific programming very well. I don’t care if the language supports imperative programming, it might be a plus, but it has to focus and encourage functional programming.

1.4: Portability: Should work well on Linux (especially Linux!), Mac and Windows. And no, I do not think F# works well on Linux with mono, and I’m not sure OCaml works well on windows 😉

1.5: Object-oriented, preferably under the “everything is an object” philosophy: I realized how much I liked object-oriented programming when I had to deal pure C not so long ago. I like languages with a strong commitment to object-oriented programming, not just timid support.

NOT REALLY IMPORTANT, BUT THINGS THAT WOULD BE NICE

2.1: “Not-too-strong” typing: I find Haskell’s strong typing system to be annoying, I like to be able to do some implicit casting.

2.2: Tools: Good tools is always a plus, but I guess it really depends on the languages. I played with Haskell using Geany, a lightweight editor, and I never felt handicapped. On the other hand I wouldn’t have done the same with Java or even Scala (Scala, in particular, seems to be lacking good tools, which is really a shame). Java is really the #1 language here, with NetBeans and Javadoc, programming with Java is easy and fun.

2.3: Garbage collected, but translated or compiled without a virtual machine. I have nothing against virtual machines, but the two giants in the domain have their problems. On paper the .net framework seems much better, and especially suited for functional programming, but in practice it’s still very windows-centric and the support for Linux/MacOS is terrible not as good as it should be, so it’s not really worth considering. Java is now a mature VM, but it annoys me on some levels: I dislike the ways it deals with executables, generics, and it writes terrible GUIs (although these things aren’t so bad).

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T05:47:14+00:00Added an answer on May 12, 2026 at 5:47 am

    If you like using lists for most things, and care about performance, use Haskell or Ocaml. Although Ocaml suffers significantly in that Floats on the heap need to be boxed due to the VM design (but arrays of floats and purely-float records aren’t individually boxed, which is good).

    If you’re willing to use arrays more than lists, or plan on programming using mutable state, use Scala rather than Haskell. If you’re looking to write threaded multi-core code, use Scala or Haskell (Ocaml requires you to fork).

    Scala’s list is polymorphic, so a list of ints is really a list of boxed Int objects. Of course you could write your own list of ints in Scala that would be as fast, but I assume you’d rather use the standard libraries. Scala does have as much tail recursion as is possible on JVM.

    Ocaml fails on Vista 64 for me, I think because they just changed the linker in the latest version (3.11.1?), but earlier versions worked fine.

    Scala tool support is buggy at the moment if you’re using nightly builds, but should be good soon. There are eclipse and netbeans plugins. I’m using emacs instead. I’ve used both the eclipse and netbeans debugger GUI successfully in the past.

    None of Scala, Ocaml, or Haskell, have truly great standard libraries, but at least you can easily use Java libs in Scala. If you use mapreduce, Scala wins on integration. Haskell and Ocaml have a reasonable amount of 3rd party libs. It annoys me that there are differently named combinators for 2-3 types of monad in Haskell.

    http://metamatix.org/~ocaml/price-of-abstraction.html might convince you to stay with C++. It’s possible to write Scala that’s almost identical in performance to Java/C++, but not necessarily in a high level functional or OO style.

    http://gcc.gnu.org/projects/cxx0x.html seems to suggest that auto x = … (type inference for expressions) and lambdas are usable. C++0x with boost, if you can stomach it, seems pretty functional. The downside to C++ high performance template abusing libraries is, of course, compile time.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 286k
  • Answers 286k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer like this function simplify($path) { $r = array(); foreach(explode('/', $path)… May 13, 2026 at 4:54 pm
  • Editorial Team
    Editorial Team added an answer The AspNetSqlProvider is not the default provider name that is… May 13, 2026 at 4:54 pm
  • Editorial Team
    Editorial Team added an answer I think this: CvLineIterator *iter ; Should be: CvLineIterator iter… May 13, 2026 at 4:54 pm

Related Questions

In order to apply a triggered animation to all ToolTip s in my app,
I want use html5's new tag to play a wav file (currently only supported
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I've got a string that has curly quotes in it. I'd like to replace
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.