Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to…

Follow publication

How to Be a Better Programmer?

--

How many programming languages do you know? ASM , Basic,C,C++,C#,Pascal, Java, Javascript , Scala , Rust

Oki, and how many languages do you know outside of Algol-like style?

So in practice, we all over and over again re-learn Algol

How many minds shift paradigm languages you know?

I see a big renaissance in a language now we have a good old friend back LISP -Clojure , Erlang -Elixir, Ocaml — F#, ReasonML, scala, Smalltalk — Pharo, VisualWorks, gemstone

It is a few languages that will help you to be a better programmer

So let’s take a look at some

Smalltalk

Smalltalk (Pharo https://pharo.org/) — It was mind shift language. First pure OO language inspired by lisp and Modula. The power idea that parts have all power and characteristics of the entire system. So the center of all is an Object and the object communicates via the messages.

But really mind-blowing idea is an Image-based environment and IDE — you should try it. It is much bigger than a repl. You are part of a live system of connected life objects and even a compiler is a part of this system.

and Syntax of language could be printed on a postcard. it is super small.

Key concept hear is objects that communicate via the messages. So OOP is more about a messages that state. Smalltalk will change your understanding of objects.

Learn about messages Getting The Message

More arguments to learn Why learning Smalltalk can never be a waste of time

How learning Smalltalk can make you a better developer

LISP

The oldest functional programming language and practically one of the oldest general porpouse languages. Whats more ming bloving it was specially designed for AI and it was a main invotion power of AI movement before first AI winter.

It is just the implementation of math lambda calc as is. But the main mind shift is the symbolic programming and homoiconic — so code is data and data is a code. What’s more interesting your program could analyze and extend itself. So the famous lectures — Structure and Interpretation of Computer Programs is done with Scheme — the Lisp dialect

So the most beautiful program is lisp interpreter written on the racket

(define eval-expr
(lambda (expr env)
(pmatch expr
[`,x (guard (symbol? x))
(env x)]
[`(lambda (,x) ,body)
(lambda (arg)
(eval-expr body (lambda (y)
(if (eq? x y)
arg
(env y)))))]
[`(,rator ,rand)
((eval-expr rator env)
(eval-expr rand env))])))

programm understand and extend itself .

One more interesting folks in a room is Racket — a lisp that allows to implementation of languages as libraries. so it is a Language Oriented Programming

Clojure and Rocket is a good languages to start and take a look. Even first language of Ethereum smart contracts in fact was a lisp based

Forth

Forth (https://www.forth.com/forth/) is a stack-oriented unique language. so you have an interpreter, compiler, and operating system in the same box.

It is a de facto language for microcontrollers and embedded systems. The mind-shift idea here is pointer-free factoring and self-extending. So you create with every few lines words that immediately extend a language dictionary. So line by line you create a DSL and turn simple system language into a full-scale high business-oriented system

Forth internals is mind-blowing forth-execution It is an amazing language for resource-limited environments. So if you take a look to Bitcoin scripts you will recognize a foth like language with a predefined set of instructions.

What do all these languages have in common?

  • simplicity and cognitive load.All of them build around simple data structures and use them to perfection
  • DSL and extendable driven. The only one way to program on all these languages is to build your own domain-specific language. With fotrh you will master factoring and a way to go from simple stack operation to complex system descriptions
  • Minimal or new syntax and low cognitive load.

Stackademic

Thank you for reading until the end. Before you go:

  • Please consider clapping and following the writer! 👏
  • Follow us on Twitter(X), LinkedIn, and YouTube.
  • Visit Stackademic.com to find out more about how we are democratizing free programming education around the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Published in Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to democratize free coding education for the world.

Written by Volodymyr Pavlyshyn

I believe in SSI, web5 web3 and democratized open data.I make all magic happens! dream & make ideas real, read poetry, write code, cook, do mate, and love.

No responses yet

Write a response