Literally that, creating a new programming language from scratch. ^.^;
Aha ok, no OCaml and Elixir unite about 60, 70 years of development, I think we can stay on them. xD
And this PPX extension means I can use one and the same code and compile it into Elixir and OCaml, yeah? So, this would be super awesome.
Especially since OCaml looks more simple as Elixir in your examples.
Elixir seems to use a lot more boilerplate code.
How can i help?
Same ‘language’ and some base set of types yes, but likely you’d have a few external
declarations for low-level binding, but those would be handled individually by each back-end.
That is only because OCaml is statically strongly typed, where Elixir is dynamically strongly typed. Being statically typed means that the compiler can ‘know’ about a lot of the code that something like Elixir could never dream of as it is now, thus allowing a lot shorter and faster code to be written.
Heh, if you want to then learn about OCaml the language, OCaml the compiler, and PPX’s. I’m still too busy at work to do anything yet. ^.^;
Aha, interesting. I already knew about static and dynamic typing, while I wasnt aware of the fact, that boilercode is related to that. How is it possible, that QML is very easy, while dynamic?
I have still not learned a single language or programming at all. Do you really think, this is a nice first project?
QML itself is a special language that is strongly typed due to reflecting back into the C++ system. If you notice the javascript can only be entered in special areas, and in those areas it becomes untyped and you don’t get compile-time guarantees anymore. QML is statically-typed without you even noticing, it was a great design, but it is very limited (I doubt it is even turing complete without falling into javascript).
No language yet?
Learn (in no specific order):
- Elixir: Great to learn how to do async Correctly.
- OCaml: Great to learn how static typing systems save you from entire huge swaths of bug types.
- Lisp/Scheme: Oh the magic when code is data and data is code both. ^.^
- Lisp/Scheme: Oh the magic when code is data and data is code both.
My obligatory HtDP2e/Racket shoutout - for budding polyglot programmers.
Lisp flavored Erlang:
Considering that it is clearly designed for interfaces and all the code for logic is JS, is it for sure not even near to Turing complete since it’s not capable to code anything in addition to UI code?
I love that it’s declarative and hardware-accelerated, multi platform capable by default, Qt and so on. I like to use declarative languages, that is sure.
It feels native to me and hey: The universe itself is written in functional concepts
QML is my number one language when it comes to readability, so I use that one in order to get a fundamental intelligibility and self-confidence.
I can use JS to dive carefully into programming the invisible parts, and I can focus on the functional aspects there, maybe with libraries who help to do this.
Since that, QML bindings to functional languages look important to me and lablqml offers bindings for Reason/OCaml plus I can use Elixirscript to turn Elixir code into JS and import that one into QML files and, in theory, there is Ring as well, while Elixir and OCaml/Reason are more popular, so let’s see.
Thank you both very much
You’d be surprised! I bet you could finegle it with the events and some UI elements to get something horrible to use but turing complete. Turing completeness pops in in the most surprising of ways! ^.^
Ditto, I quite like its design!
It is indeed awesome!
/me is wondering if there is a Mix plugin compiler for lfe yet, hmm…
Not heard of HtDP2e, and I keep meaning to learn Racket, it has been on my list for months. ^.^
I guess you missed my initial post here - I suspect Racket is most useful as a first language with HtDP2e or a means to bust single language/paradigm programmers (JavaScript, Python, Java, etc.) out of their constraining mindset.
Maybe the “design your own language” aspect could be of interest to you - but really the “code is data” thing has already been covered for you elsewhere.
I already took a look at it, since John Carmack’s son fall in love with it.
This is indeed something interesting, while I feel overwhelmed by all the brackets.
I like it distraction free and with fewer symbols, so like natural languages.
In general is also a completely straight forward way my goal, so I like to find one solution that seriously fits me and currently is my journey full of about 399 potential solutions who are simply overcomplicated.
C++ is considered for the very most people as a low level language, while 20 years back it was considered as a high level one.
The same counts also for humans; Our level of today is different from that one of several years ago and things, which are completely obviously for us now, was very strange some years before.
This is also why I think that the majority of developers put less attention on newbies and making their introduction sensible since they forgot about all the details about what was hard for them back then.
Humans, in general, are used to intelligible things by imitating and direct feedback from the role model, including body language and so on, since that is how we evolved for millions of years.
In a specific perspective is the computer science scene ‘ocupied’ by developers who can see those abstract mechanisms by simply reading a text and trying them for themselves.
One more point is that my primary language is German, so before my mind can implement information about the actual programming language, happens a translation from English into German too.
Just imagine your only source to get information is this one:
Home · Elixir School and https://ocaml.org/learn/tutorials/basics.de.html
I know a lot of people solve this, so there are of course a lot of successful developers who speak English as their second language, while a lot of people, who are a potential benefit for the (open source) world get simply distracted by such things.
P.S: This text took me more than half an hour
Informatik 1, WS 2015/16 Universität Tübingen
Große Teile dieses Skripts basieren auf dem Buch “How To Design Programs” von M. Felleisen, R.B. Findler, M. Flatt und S. Krishnamurthi.
.
Large portions of this content is based on the book “How To Design Programs” by M. Felleisen, R.B. Findler, M. Flatt, and S. Krishnamurthi.
Also:
Programmierparadigmen - Eine Einführung auf der Grundlage von Racket
amazon.de
Entertaining:
Racket Sucks, Don’t Try It
is actually a pro-Racket piece as evidenced by
things I already dislike about Python
Not liking Python any better now
But apparently not everyone “gets” Racket.
My Problem with Schools Isn’t That I Don’t Learn… (AKA Racket is a Stupid Language)
Thanks a lot, I think this helps me to comprehend programming in general.
That calculation style (+ 1 1) is well known to me from Clojure, so I assume it is part of a fundamental concept?
Thanks a lot, i found it: https://en.wikipedia.org/wiki/S-expression