4 ms·
The language complexity comparison based on the number of pages in the spec is incredibly not useful and disingenuous. The Java specification is actually a fai
by agentgt 10y ago
The language complexity comparison based on the number of pages in the spec is incredibly not useful and disingenuous.
The Java specification is actually a fairly good specification and also covers a great deal of the runtime (of which Scala gets a free ride).
The C specification is 500 or so pages.
IMO the Go specification is sorely lacking in details (albeit I must confess written in a much more modern and pithy way). It also doesn't have legacy baggage. This isn't to say Go is bad or good but you shouldn't base your decision on the length of the spec (particularly when formatting also plays a large part).
BTW if you are looking for close to the best of both Go and Scala (an in between) take a serious hard look at OCaml. Yes OCaml multicore is not done but it is coming. And in ref to the authors mention of being explicit IMO OCaml is the most explicit language I know (ironic given it has incredibly good type inference).... Oh and for completeness its specification is 657 pages. I actually learned most of the language by reading the spec.
- lanna 10y ago> The Java specification is actually a fairly good specification and also covers a great deal of the runtime (of which Scala gets a free ride). but isn't the java spec split in two: the java language specification and the java virtual machine specification? (honest question)
- agentgt 10y agoThere is overlap and there sort of has to be because of the memory model and reflection if I recall correctly. Certainly the documentation could be more pithy though.
- bpyne 10y agoAs I read the author's comparison, OCaml came to my mind as well. Reading Minsky's posts and the Real World OCaml book got me really interested in its capabilities for modern software development. I've heard mixed reviews about the object-oriented features, but the functional ones are solid, expressive, and easy to understand. At home, I started using it as my primary language just a few weeks ago.
- agentgt 10y agoI use the OCaml utop REPL as my day to day calculator (booting up excel gets old). I honestly think it has the best REPL.
- bpyne 10y agoThanks for the tip. I see utop referenced all the time, but I just haven't fired it up. Currently I'm designing a small language so I can learn OCaml better. I'm planning to use the ocamllex and menhir tools for lexing and parsing. I'm sure utop will come in handy for testing out ideas.
- ryanslade 10y agoI've been playing around with OCaml a fair bit in my spare time too. I've been using Go at work full time for about 4 years so that's my main comparison. I love OCaml as a language but the ecosystem is really pretty bad. There is just too much fragmentation and lack of libraries. I would have expected more from a language that is over 20 years old. Don't get me wrong, I want it to succeed since I agree it has a really nice mix of features.. I just have my doubts given its track record so far.
- agentgt 10y ago> Don't get me wrong, I want it to succeed since I agree it has a really nice mix of features.. I just have my doubts given its track record so far. While I agree... Javascript is also just as old and arguably more fragmented (with the exception of jQuery). That being said perhaps unlikely but OCaml may make a massive comeback just like Javascript did (particularly if for some reason Rust fails which I doubt).
- geodel 10y agoJavascript has web giants' backing who made it work and well enough to write sophisticated frontends like webmails etc. OCaml has Jane street and may be a couple more using it as secondary language for some applications. I don't think it is going to catch up big time.
- melling 10y agoHow good is OCaml for web development? I've been considering using OCaml or Haskell for my next weekend project. I actually used Go for my last one and was happy with it. However, next time I'd like to take a dive into the functional world.