8 ms·
The article does not mention Smalltalk's uncommon syntax as a deal breaker. Not many langs with uncommon (not C-like) syntaxes have managed to become widely use
by cies 6y ago
The article does not mention Smalltalk's uncommon syntax as a deal breaker. Not many langs with uncommon (not C-like) syntaxes have managed to become widely used. I think that that is known to those who ordered investment in Java and C#.
To me Smalltalk feels too integrated, which is a problem for me. I like a language that's small in it's (open source) core, with lots of (competing) integrations (IDE, testing, profiling) available. It helps me not to feel locked-in to an ecosystem.
- p_l 6y agoPeople overestimate C syntax importance, especially earlier on - when a lot of development was in non-C languages.
- mpfundstein 6y agoso which language besides python is really really successful and doesn't bave C syntax?
- shakna 6y agoDepends what you mean by successful. If you're willing to accept heavily entrenched ("a lot of development" as in the parent), then languages like Fortran and COBOL are highly successful. They underlie an enormous amount of infrastructure in the world.
- jmull 6y agoSQL
- arexxbifs 6y agoFortran, Cobol, Algol, Pascal, Basic, Rexx, Ruby and Lisp have all experienced success relative to the size of the software industry during their peaks - perhaps most notably Visual Basic and Turbo Pascal.
- dragonwriter 6y agoFortran, COBOL, BASIC, Algol, and Lisp peaked well before C was popular (in some cases peaked before C existed), and Algol (obviously), Pascal, Python, and Ruby, are all languages in the Algol-derived syntax family, like C. Visual Basic is probably the biggest success of a non-Algol-derived general purpose language after the dominance of C as anything other than mostly-legacy. There are some others (Erlang, some Lisp-family languages [recently Clojure], some ML family languages) but languages with Algol-derived syntax are still far and away dominant. There's also lots of not-general-purpose languages without Algol syntax (SQL, for instance.)
- jmull 6y agoI agree. From my perspective, C syntax was just another syntax... Pascal, Lisp, BASIC, dBase, Fortran, DOS BAT, unix shell, and various assemblers. That changed once C/C++ look over, but until then it wasn't something large proportions of programmers knew and had an affinity for.
- skohan 6y agoPython is one of the most widely used languages out there and doesn't have C-like syntax really
- chrisseaton 6y agoThere's not many examples beyond this though... it does seem to be the case that people either choose C syntax for successful languages, or those languages are successful possibly because of C. Why did Rust move from an ML syntax to a C syntax?
- dragonwriter 6y ago> There's not many examples beyond this though... Ruby, though still in the Algol-derived syntax family, is even less C-like than Python.
- skohan 6y agoThat's true, and that's probably why even though I have had to modify ruby code and write simple scripts at various points in my career, I never got to the point where I fully grep the syntax. Maybe that's why C-like syntax is so popular.
- steveklabnik 6y agoWe wanted to cater to an audience of systems programmers, so we tried to stick to a familiar syntax where possible.
- skohan 6y agoI know this opinion will not be received well, but I'm really sorry this extended to things like semicolons, snake_case, and the overloading of the term vector to refer to variable length arrays. I'm a big fan of many of the decisions made in Rust, but those are things which I wish we could have let die in the systems programming language of the last decades.
- AriaMinaei 6y agoI had that same reaction towards lisp. Not sure which flavor it was, but when I first saw it 10 years ago or so, the syntax put me off so hard that I wrote the whole thing off. Didn't look at another lisp for a few years, until I came across Clojure. The syntax was again "ugly" but some people were so excited about the language that I had to look into it, which is when I learned why the syntax looks the way it does, and how powerful it is because it looks that way. Needless to say, I felt monumentally stupid, not just for having done myself the disservice of not looking into lisps earlier, but for having the audacity to write things off out of "ewww" feelings. A perfect exhibit of programming being a pop culture and me being a mindless consumer. Thankfully I learned my lesson, which came in handy when I came across Smalltalk. The syntax is powerful [0], and good luck getting that kind of power out of any conventional syntax language. [0] among many other aspects.
- boxed 6y agoNever blame the user for the problems of the system. Lisp fans know the syntax is a huge problem. It has been for decades. Their solution is to blame the user. This approach is absolutely doomed. Clojure actually fixes quite a few of the syntax problems with previous lips, but doesn't go nearly far enough so they still have the same problem.
- p_l 6y agoWhat happened is that "better syntax" turned out to universally fail in practice. It's not that we decided to blame the user. But there's 60 years of empirical data that points to M-expressions being irrelevant and waste of time. And people who don't have experience with other languages tend to pick it up just fine, even if the formatting is sometimes atrocious (AutoLISP community is an example).
- mumblemumble 6y agoM-expressions did fail. Their greatest failure is that they persist as a universal strawman that's useful for killing any conversation about evolving lisp's syntax. M-expressions didn't just fail because they were unnecessary; they also failed because they just weren't a very good syntax. They were more cluttered and less readable than S-expressions, while adding no real practical value. But Clojure has arguably demonstrated that you can evolve on Lisp syntax without going to M-expressions, or even changing S-expressions all that much, just by adding a few new bits of literal syntax and sprinkling some clever macros into the standard library. (A macro invocation may not technically be syntax from the parser's perspective, but it sure feels like syntactic sugar from a user experience perspective.) And, while I haven't actually tried them at all, I've at least been intrigued by t-expressions. They seem to achieve some nice things like git-friendliness and easier visual scannability without sacrificing on macro-ability.
- jjoonathan 6y agoI think it might be even simpler and worse: ecosystems are important, languages aren't. The "bitter lesson," if you will, of languages.
- mumblemumble 6y agoSmalltalk and C were developed around the same time, which renders any argument to the effect of, "Smalltalk didn't get popular because it didn't use the C-style syntax that everyone knows and loves," uncompelling by virtue of being anachronistic.
- jimhefferon 6y agoExcept that C-style syntax existed before C.
- mumblemumble 6y agoThe earliest language I know of with syntax that really looks like C's is B, which is a whole three years older than C.
- protomyth 6y agoI remember people using the phrase Algol style, but that has faded out.
- deleted 6y ago[deleted]
- lalalandland 6y agoSmalltalk is really quite small. All syntax is described in here: https://gist.github.com/jacaetevha/3795784 https://gist.github.com/jacaetevha/3795784