3 ms·
Interesting perspective! I think HN would benefit if we shared our own mind-blowing insights here. A couple from the top of my head: - Python: slicing, full re
by wslh 2y ago
Interesting perspective! I think HN would benefit if we shared our own mind-blowing insights here. A couple from the top of my head:
- Python: slicing, full reflection capabilities, and its use as an interface to almost anything [1], not to mention its role as an embedded interpreter (beyond the GIL debate).
- Z3: one of the closest I know for defining the ‘what’ rather than the ‘how.’ I got lost with Prolog when I tried to add more complex logic with ‘hows’, though I was a complete newbie with Prolog. Z3, however, really boosted my beginner capabilities.
- OMeta: allows me to write fast parsers without spending time resolving ambiguities, unlike ANTLR and other popular parsers using classical techniques.
- Smalltalk/Squeak: everything can be re-crafted in real-time, a blend of an OS and a programming language. The community vibe is unique, and I even have friends who implemented an operating system using Squeak. The best example? TCP/IP implemented in Smalltalk/Squeak! [3]. David Weil and I also created an early proof of concept [4] that used Linux behind the scenes, aiming to ‘compete’ with the QNX floppy disk.
- AutoLISP: a programming language embedded in AutoCAD, which I discovered in high school in the late ’80s—only to just find out that its first stable release is considered to be around 1995 [5].
- REXX on the Commodore Amiga: not only could applications be extended with this language, but they could also interact with each other. A decade later, when I used REXX on an IBM Mainframe, I still preferred the Amiga’s approach.
- Racket: I can draw in the REPL. For example with Racket Turtle.
- C++: object orientation "for C". I was not mesmerized by templates.
- Clipper: first database usage and relatively simple to create business apps.
- Objective-C: the first implementation of GCD [1], providing a C/C++ style language with fast performance, a clean event-loop solution, and reflective capabilities. However, I never liked the memory handling.
- Machine Code/Assembler on the Apple IIe: I could jump directly into the assembler monitor from BASIC.
- APL: a powerful yet complex way to program using concise expressions. Not ideal for casual use—best suited if you really understand the underlying concepts.
By the way, it’s time for Apple to embrace programming languages on iOS and iPadOS!
[1] http://www.garret.ru/dybase.html http://www.garret.ru/dybase.html
[2] https://wiki.squeak.org/squeak/1762 https://wiki.squeak.org/squeak/1762
[3] http://swain.webframe.org/squeak/floppy/ http://swain.webframe.org/squeak/floppy/
[4] http://toastytech.com/guis/qnxdemo.html http://toastytech.com/guis/qnxdemo.html
[5] https://en.wikipedia.org/wiki/AutoLISP https://en.wikipedia.org/wiki/AutoLISP
[6] https://en.wikipedia.org/wiki/Grand_Central_Dispatch https://en.wikipedia.org/wiki/Grand_Central_Dispatch
- 082349872349872 2y agonot necessarily mind blowing, but interesting, deeper cuts: Aardappel ABC Beatrice Charity Esterel FL Fractran GPM Hope Lean MCPL NESL Oz ProTem Рапира rpython SLC Squiggol UNITY USELESS
- heresie-dabord 2y ago> an early proof of concept [4] that used Linux behind the scenes Gnu/Linux: Set computer software free so people could discover and learn. 30 years of success and counting. Mind blown. C: lean, rock-solid durability for 50 years and counting. The connected world runs on C. Mind blown. AWK, sed, grep, Perl: lean, powerful, rock-solid durability in text and data processing for over 30 years and counting. Mind blown. SQL and relational data: Querying big data for 50 years and counting, now powering the world in the 21st century. Mind blown.
- rramadass 2y agoHear, Hear :-) Old IS Gold!
- jolt42 2y ago- OMeta - sounds like my experience with Instaparse (Clojure) - REXX - I thought this was ingenious specifically for file/text processing.
- wslh 2y ago> ... sounds like my experience with Instaparse (Clojure) Thank you! I wasn’t aware of Instaparse or its use of PEGs [1] which gives you the same sense about parsing ambiguities. > REXX - I thought this was ingenious specifically for file/text processing Formally the REXX in Amiga was called ARexx and included extensions [2]. REXX [3] itself is not specifically for file/text processing but enables you to connect different environments [4]. [1] https://en.wikipedia.org/wiki/Parsing_expression_grammar https://en.wikipedia.org/wiki/Parsing_expression_grammar [2] https://en.wikipedia.org/wiki/ARexx https://en.wikipedia.org/wiki/ARexx [3] https://en.wikipedia.org/wiki/Rexx https://en.wikipedia.org/wiki/Rexx [4] https://www.ibm.com/docs/en/zos/3.1.0?topic=environments-host-commands-host-command https://www.ibm.com/docs/en/zos/3.1.0?topic=environments-hos...