jethrow's preferred language ... and why

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: jethrow's preferred language ... and why

Re: jethrow's preferred language ... and why

Post by iseahound » 10 Nov 2018, 13:05

I agree Scala has some very nice syntax, and compiles to the Java Virtual Machine, so you're essentially writing Java.

I'll throw out Haskell for a good taste of what mathematicians prefer, Coq if you are interested in proofs, Common LISP for its homoiconicity, and maybe get familiar with ML type languages just because lots of textbooks reference them.

I'll disagree with Ruby and Python being Functional in the truest sense of the term - they don't support pattern matching natively, and rely on "hacks" to get the desired result.

For most people, a bit of C, lots of Python, some Javascript exposure, Haskell (something functional) and a choice of bash/cmd/PowerShell seems to be fine. But a programmer should always choose the right language for the job. Python programmers are beginning to feel trite, more than once I've stumbled upon the statement "if you can do it in Python, then why not do it in Python?".

Finally at some point a programmer might ask, why choose a language at all? It's all computation, and there should be theories of computation, independent of whichever language is chosen. In other words, the language chosen should express the concepts a programmer wishes to express with ease. When one starts to feel they're fighting against the language, the syntax, and its constructions, it's time to use a different language. At this point, they brush off their mathematics, and learn some type/category theory.

Re: jethrow's preferred language ... and why

Post by jethrow » 09 Nov 2018, 01:20

Yes - IntelliJ IDEA Ultimate

Re: jethrow's preferred language ... and why

Post by SL5 » 05 Nov 2018, 11:33

I'm currently fascinated by kotlin. Scala is probalby more `powerful`.
Do you also have such a wonderful IDE as that from jetBrains?

jethrow's preferred language ... and why

Post by jethrow » 03 Nov 2018, 16:54

(initial though after reading subject) ... who cares?
... but then I think about the actual big names (current & former) in the AHK community, and I'd be curious to know their preferred development language.

Short Answer:
Scala, because it's a full jvm-based programming language that feels kinda like a scripting language.

Longer Answer:
Starting with AHK, I obviously had a background in scripting. Knowing I wanted to explore a more mainstream scripting language, I looked into python/ruby quite a bit. Between those I concluded I prefer ruby, but I'd rather troubleshoot your python code. Then I got a job working with data (back-end stuff). Once we started working with Big (term used loosely) Data, we started using Spark - which is written in Scala. Because of this, we decided to use Scala as our primary programming language. Note that we worked with several other java based open-source projects, and we work primarily on Linux servers.

What I always tell people about Scala is that it's basically halfway between java & python (ruby really). For me, it gives the best of both compiled & interpreted languages with the only real downside being increased complexity.

Java-like:
  • Strong static typing
  • Compiles to java byte code
  • Able to use all java libraries
  • most other java stuff, other than the boilerplate
Python/Ruby-like:
  • Type definitions aren't required if they can be interpreted
  • Simple. Example:

    Code: Select all

    println("Hello World")
  • Interactive Shell/REPL
  • Both Functional & Object-Oriented
  • Implicit conversions
  • Lots of syntactic sugar (even user definable)
  • Multiple ways to achieve the same thing (ruby-like)
Admittedly, however, I haven't explored a bunch of languages ... C# is another language I'd like to learn if there was a need for it. Currently I also use:
  • bash
  • python
  • powershell (when forced to use windows)
  • java (if I really have to)
  • awk (is this really a language?)
  • sql (included to make the list longer)
Anyways, I hadn't seen Scala mentioned in this forum, so I figured I'd give it a shout since it was a great next language for me.

Top