![]() | objective.st | ||||||||||
| Objective-SObjective-S is possibly the first general purpose programming language. It makes creating well-architected and efficient programs not only straightforward, but easy, fun and fast. Yes, this sounds insane, programming languages we call "general purpose" number in at least the hundreds, starting with C, Java, Smalltalk, Ruby, Python etc. However, these are actually DSLs for the domain of algorithms, and this architectural mismatch, the fact that we have to use algorithm DSLs for tasks that are not primarily algorithmic in nature lies at the heart of much of the pain we have in software development today. More here. Hello World!The traditional hello world prints to stdout, and we can do that:
Objective-S is expression-oriented, so just typing the string will also print it in the REPL:
In a complete script, this looks as follows:
If you want to show Hello World in a UI, you can use a label:
This works with both UIKit and AppKit. For the the web we can define a small server in code, with the GET method for the path /hello mapped to the our greeting string:
Alternatively, if we just have data, we can define a dictionary-based store and serve that:
NewsJun 20th , 2022Now served via an ARM cloud instance. August 13th, 2020Site update: Publications, About. August 1st, 2020Esteban Maringolo suggested Objective-S as a better name, so giving that a try. January 18th, 2019Copy of objective.st website running dynamically on a Digital Ocean Droplet. December 28th, 2018Linux port (using GNUstep). October 22nd, 2018SQLite scheme handler (via property paths). October 14th, 2018Syntax for defining scheme handlers with property paths. April 2nd, 2018Filter definition syntax. July 15th, 2017Now have real class and method definition syntax. May 15th, 2014The Objective-Smalltalk REPL is now available as an embeddable NSTextView subclass, in addition to the Unix command line. May 12th, 2014More unicode support: in addition to symbols like π there is now also support for various operator-like constructs like ≠,≤ and ≥ extended (in-)equality tests, the arrows ⇦ and ← for assignment and ⇨, → for attaching connectors to ports. March 24th, 2014Auto-complete for local variables and messages in stsh. The algorithm takes into account both syntax and actual live objects for very accurate results. February 19th, 2014Cocoa Heads Berlin presentation. February 7th, 2014Simple live coding demo video driving Apple's Quartz API via MPWDrawingContext. February 1st, 2014Objective-Smalltalk presented at the FOSDEM Smalltalk DevRoom, video available August 10th, 2013 | ||||||||||
Copyright (c) 2012-2020 Marcel Weiher (st) |