Posts for the month of December 2013

Real programmers are poets, while common coders are graphomans.

Programming is not about collecting code, it is an ability to write it down, spontaneously, as it "emerges" in your mind, like a poetry.

It is about harmony and balance, being as compact and meaningful as possible, without redundancy.

Real programmers are poets, while common coders are graphomans.

New year thoughts.

New Year eve is approaching, so it is a perfect time to pause and look back.)

As strange as it sounds, the only "big idea" which I like to continue to pursue in the next year the one was proven by Paul Graham with his Arc language and real-world services which were built upon it, such as http://news.ycombinator.com/

The idea is: We don't need all these piles upon piles of Java* crap.

arc.arc is just 2K LOC, ac.scm (compiler to mzscheme) is 1.5K LOC, news.arc + all the libs is just about 1.2Mb in size.

This proves his thesis given in the On Lisp book about bottom-up, adapt-as-you-go, design-for-changes, as layers-of-dsls approach to real-world programming, and that code can (and must!) be compact, concise, readable and clean at the same time.

This implies that thing like Hadoop (unimaginable inefficient and bloated pile of Java crap, wasting more resources that it serves - but that's OK, hardware is cheap!) could be implemented with orders of magnitude less code, less waste, less confusion.

Another point is that we don't really need "megabytes of stuff" and "thousands of macros" and even CLOS. There are a good-enough set of special forms and primitive procedures (the very idea behind original Scheme, before it turned with R6RS into yet another bloatware) for any kind of programming. Everything what is necessary could be written on Lisp on the go.

The only annoying thing is lack of a decent native compiler, as we have for CLs, especially that to compile such a tiny language (very few special forms and primitive procedures) we don't needs hundreds of megabytes of C++ code (clang).

We also want quick and efficient FFI of CLs. With native code and decent FFI the task like serving dynamic content would look attractive (imagine something like ring, but without the disaster called Java runtime).

The direction to look is the Golang, which is right now in the stage of re-writing the compilers in itself (the very old tradition for decent languages).

So, there are still small wonders around, like Plan9 or Emacs or Arc or MIT Scheme or CLs or Golang. They show us what is possible when a mind is used instead of copy-pasting.

As Paul Graham suggested in his On Lisp classic book, programming is a journey into unknown, as a life itself, without any plans and specifications set in stone, and one should change, adapt and evolve on the go, along with one's code.

More of my stuff.

I have no time to extract and put in one place these very few fine pieces I have wrote in last two years, which are buried in deep in HN, so there is just a link https://news.ycombinator.com/threads?id=dschiptsov

Some day I might do it, but the point is not in collecting pieces, but in an ability to write them spontaneously, on the spot, in the best Kerouac style.)

My Take 5

Here is another attempt of describing the beauty using ugly words,)

Why I hate SAP.

Got hell-banned HN again, this time due to not politically correct remarks about some SAP product:

Oh my, that "Delphi mentality" in 2013..) ExtJS, if I remember correctly, is 5 or 6 years old already?) But we, no doubt, will read about ground-breaking innovations from their PR machine.)

Is there any info which "startup" they have acquired or in what third-world country it was outsourced?)

  1. My position about practices SAP uses remains unchanged: https://news.ycombinator.com/item?id=5158953
  1. I do have reasons to suspect that SAPUI5 could be outsourced third-party project because it is way SAP "cutting costs" by outsourcing development in so-called third-world, while asserting "world-class quality of its software".
  1. I do understand that my remarks bases on guesswork could produce unpleasant feeling in honest developers, but who even considered feeling thousands of ruined carers, teams and even companies because they do messed up with SAP.
  1. I do not follow the practice of so-called polit-correctness toward incompetent, impotent "management" or "IT specialists" who was brain-washashed by SAP or Java propaganda, on the very same reasons these people would not tolerate a drunk or dope addict.
  1. I am quite sure, that in some corners of the world there are true and honest SAP consultants and certified professionals, who honestly trying to help their customers and not mislead and manipulate them, but, unfortunately, I never have seen one in my life.