hex is a minimalist, concatenative, stack-based programming language designed for experimenting with the concatenative programming paradigm.
hex is a minimalist, concatenative, stack-based programming language designed for experimenting with the concatenative programming paradigm.
Pike – a dynamic programming language with a syntax similar to Java and C
I want to write a #ProgrammingLanguage… like a mixture of #C and #Rust like syntax. I call it Osmium, like the periodic table element. I’m developing on #Linux. This will be a #Hobby of mine, not anything serious, maybe never published to the net in the end. It could be aimed at enhancing #OSDev somehow???
Anyone got any ideas and resources they could share with me?
Please #BoostForVisibility so others can see this, thank you!
What is the most #futuristic #programminglanguage that you know of?
A high-throughput parser for the Zig programming language
Auto Close Files in Python #python #coding #scripting #programminglanguage #datascience
Defaultdict in Python #python #coding #programminglanguage #scripting #datascience #pythoncode
Decorators in Python explained #python #programminglanguage #scripting #datascience #coding
Birth of BASIC @ Dartmouth Uni
https://youtu.be/WYPNjSoDrqw
What I don’t like:
- some stuff breaks “everything is a list” model
- Common Lisp is not minimal, includes overlapping and legacy stuff
does #scheme address this?
@rzeta0 I would say yes, Scheme sort of addresses those issues.
Scheme’s biggest advantage is that it is minimal enough that you can understand the whole language specification top-to-bottom, inside and out. But that is also it’s greatest drawback: is that it is too minimal to be practical. So for a long time, every single Scheme implementation has a it’s own large and unique set of libraries for solving practical programming problems that were incompatible with other Scheme implementations, making the Scheme ecosystem very fragmented. The Scheme Request for Implementation (SRFI) process is meant to address this fragmentation issue. Fragmentation is still (in my opinion) a pretty big problem, though things are much better than they were 20 years ago.
The R6RS standard, as I understand it, tried to make Scheme more practical, but it started to become too Common Lisp-like in complexity so it was mostly rejected by the Scheme community — with a few notable exceptions, like the Chez Scheme compiler.
The next standard, R7RS, split the language into two parts: “R7RS small,” ratified in 2014, which is more like the original minimal core of the Scheme language, but just a few new features, in particular the define-library
macro, for modularizing parts of Scheme programs into immutable environment objects. Then they took a collection of “SRFIs” and declared them to be part of the “R7RS large” language standard. The full “large” language specification is not yet fully ratified, even 11 years after the completion of R7RS “small,” but I think the SRFIs they have ratified so far already make the latest Scheme standard a very practical language. The final R7RS standard may end up being larger than Common Lisp, but that is fine with me since it can be almost completely implemented in the R7RS “small” Scheme standard.
R7RS “small” Scheme, in my opinion, is a powerful but minimal language that exists to implement other languages, but is still useful in it’s own right as a progeny of Lisp. The “R7RS large” language then adds the useful features of larger languages like Python or Common Lisp as a layer on top of the “R7RS small” language.
The current chair of the R7RS working group is Daphne Preston Kendal, and is often on Mastodon as @dpk . She can tell you if I got anything in this post wrong.
Kudos to the #TypeScript team for doing the port to a native language! Truly amazing!
https://devblogs.microsoft.com/typescript/typescript-native-port/
Altogether, their choice of using #Go makes perfect sense!
However, there are always trade-offs. One of the biggest trade-offs, IMHO, is:
Not being able to use a _common representation of the AST_ in all language tools - this is an explicit goal for the team behind void(0):
Parse once, use anywhere!
1/2
The more I see Rust, Go, PHP and JavaScript, the more I wonder if I could make my own programming language with the best of each world.
Of course, not in this lifetime, but may be I could start making a wishlist.
Randomly thinking about this the other day, still think it's crazy that #Java was this huge important #ProgrammingLanguage when I was first learning to program back in the 2000s, then #SunMicrosystems was bought by #Oracle in the 2010s when I was teaching for the certifications, and now in the 2020s it's become this depreciated legacy language. The success of the less-portable and less-learned copycat .Net and staying power of the older #Python shows there was clearly a market for Java to continue, but the large #corporation was so much more interested in filing lawsuits against people who were doing things with the language than actually developing it further with modern features, they actually managed to push it into obscurity.
And we can't forget that this was a MULTI-BILLION DOLLAR LOSS. BILLIONS OF DOLLARS had been spent to build up infrastructure to support the widespread use of this language across the industry, so when they dropped all support, and all of that became obsolete for no other reason.
#HTML is a #ProgrammingLanguage. Just because it's a #Markup & directly #interpreted languague doesn't make it less valid!
I'd go so far as to say that #Markdown and #BBcode also qualify as sub- and supersets of #HTML just like #Sass for #JavaScript.
Even #COBOL on #PunchCards is #ProgrammingCode!
This is my article on how to solve practical programming problems in the Scheme language using monads, a concept originally introduced to the world of software engineering by the Haskell programming language. Because the Scheme language is not purely a Lambda Calculus computer the way Haskell is, and does not do static type checking, monads are not as necessary to Scheme programmers as they are to Haskell programmers, but can still come in handy.
Monads let you code procedures (without using macros) that do not use strictly procedural programming semantics. They let you model alternative semantics like concurrent programming, or lazy evaluation. I go over two examples: of a procedural but monadic pretty printer, and list monad implementation which demonstrate a simple concurrent programming semantics.
https://tilde.town/~ramin_hal9001/articles/scheme-monads.html
Share of programming languages used by #GTK3 / #GTK4 applications :
30% #Python
23% #Vala
21% #Rust
16% #C
06% #gjs #Javascript
06% #C++ #Cplusplus
02% Other (including #Csharp, #Go, #Haskell, #Lua, #Crystal, #Swift, #d )
62% use GTK4, while still 38% use GTK3.
Method: Source [1] lists 453 awesome #gtk (3/4) #opensource applications and their #programminglanguage. Date: 2024-11-11.
[1] https://github.com/valpackett/awesome-gtk
Nice! My old videos that didn't get any attention last year are being watched now (100 Views! )! That's awesome! Thanks everyone for the following and for watching! In this video, I am discussing the nuance of calling "suspend" a coroutine #kotlin #jvm #programminglanguage:
I created my first small #videogame in my own #programminglanguage
I made a small asteroids-like space shooter as a PoC. Therefore it uses some DirectX shell plugins for dealing with windows, renderer and sound.