From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 5b1e799cdb,3ef3e78eacf6f938 X-Google-Attributes: gid5b1e799cdb,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!216.196.98.140.MISMATCH!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!backlog2.nntp.dca.giganews.com!nntp.brightview.co.uk!news.brightview.co.uk.POSTED!not-for-mail NNTP-Posting-Date: Tue, 21 Jul 2009 06:16:04 -0500 From: Jon Harrop Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.lang.pascal,comp.programming Followup-To: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.lang.pascal,comp.programming Date: Tue, 21 Jul 2009 13:25:42 +0100 References: Organization: Flying Frog Consultancy Ltd. User-Agent: KNode/0.10.9 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Message-ID: X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-t3pxiIjwJilVbip7Hp2l4VpNfZ3UTDUH9+jHEzN5oFSN/9b3rZ+Fv3oseKv9Wl30Tomik3cwPVC038L!59GnyQlzL5Ms+MGvTAhlq+MW13mBa/G+MibwCo+4G8DU0A03S6CiFy/ktoPDh4855q+9Sr7BkV5P!ffzj95KijzLjg7uoruROS7un X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.39 X-Original-Bytes: 3711 Xref: g2news2.google.com comp.lang.eiffel:352 comp.lang.ada:7215 comp.lang.modula3:63 comp.programming:11936 Date: 2009-07-21T13:25:42+01:00 List-Id: Andrea Taverna wrote: > Hi folks! > > I'm a CS student and I often need to write number-crunching code dealing > with combinatorial optimization problems. > What I do usually is implementing ad-hoc algorithms and testing their > performance against other previously-known solutions, including general > solvers. > > In the past I used C, but now I have decided to change language. > I'm looking for a "better" one. > > Here follow the features it should have, ranked approximately by > relevance: > > 0) open-source support and an alive community > 1) directly compiled to efficient code > 2) statically typed and object-oriented, better if multi-paradigm > 3) general-purpose libraries (possibly standardized, either by standard > or de facto), including containers and some math abstractions. > 4) garbage collected. As an alternative, provide memory management > policies via libraries (e.g. memory pools and such) > 5) optional run-time checks and some kind of control over compilation > and low-level issues > 6) "relatively simple and consistent" > > So I have considered these alternatives: FreePascal, Eiffel, Ada and > Modula-3. > I have taken a look at all of them and I'm still undecided. Below are > the impressions I got for each language. > Can you help me? Feel free to recommend other languages as well. I am very surprised at the list of languages you arrived at! FreePascal, Eiffel and Modula-3 are all essentially dead. Ada is alive but sacrificed many hugely-productive forms of abstraction (e.g. first-class functions) in order to be optimally suitable for embedded programming. Unless you're planning on number crunching on a PIC, which I seriously doubt, Ada would be a step in the wrong direction. I specialize in scientific computing and I've never heard of anyone using any of those languages for it. I doubt any even have efficient implementations by modern standards. My vote would certainly go to OCaml. If you allow proprietary then also OCaml's cousin F# from Microsoft because it offers even better parallelism. Both of these languages are used extensively for scientific computing. I would also strongly recommend avoiding conservative garbage collectors because they leak uncontrollably: http://flyingfrogblog.blogspot.com/2009/01/mono-22-still-leaks-memory.html -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?u