Te mire gondolnal ennek a ket sornak az olvastan?
1783 Louis Sebastien demonstrates the first parachute.
1785 Jean Pierre Blanchard invents a working parachute.
Szegeny Louis.
Te mire gondolnal ennek a ket sornak az olvastan?
1783 Louis Sebastien demonstrates the first parachute.
1785 Jean Pierre Blanchard invents a working parachute.
Szegeny Louis.
I’ve just read two articles about how programming seems to be different these days: Whatever happened.. and Whatever happened .. Redux the second being a reflection of the comments on the original article.
I was a bit shocked after the first one, because the author seemed to be very pessimistic and narrowminded. Still, I was curious enough to read the second one, which gave me a much better insight of what he intended to say in the first one. (also I realized that the guy is far from narrowminded and has a quite good sense of humour) Altogether the two articles describe an existing and probably serious problem – or an opportunity.
There are three things I want to write down reflecting on these articles: scripting enterprise, frontier development and standards.
Standards for me starts with W3C. Although their specifications – which in a strict sense are not standards, by the way – are heavyweight, and unusable if you are still learning about that field, they are very good as reference materials. I often go there and browse a specification to find out how should I use this or that. It’s in one place and uses the same format and markup. It’s usable once you get used to it.
There are a lot of libraries for a lot of problems, quite often there is a handful for the same problem. But the interfaces are as diverse as they can be. Why is that so? Because no one cares to create a unified description for the problem. Why? Because there are too many problems out there? I don’t think so. The root cause is that people quite often don’t think that they are actually creating a library.
In an ideal world there would be a place, much like Wikipedia, where programmers could – virtually – get together and make conversations about library interfaces, creating an ad-hoc specification for almost anything. In the real world it’s almost impossible to create and maintain such a place, but still I think that it should exist.
Frontier development is my made-up term for the kind of development when you develop for a new or limited platform, such us creating mobile applications or interactive blueray menus. Usually there are only a very few libraries for these platforms, so when you develop something, you will have a lot to create from the scratch. Still, libraries tend to creep in. Why is that so?
This is software evolution. Usually at first only the brilliant or the desperate start to develop for these platforms. As often as not they will get disillusioned and leave it, but there is a persistent core which stays, waiting for better times to come. And they come, hardware and software becames more powerful and stable, libraries start to grow, and very soon you arrive to a point in time when there is a big developer base, and most of the coding they do is just wiring thing together. Average people like me doesn’t have a lot of talents. Actually, most of us feels lucky if there is one thing that we can do exceptionally well. That is why there are libraries – they are made by people who are talented in that specific area. After a while there will be libraries for everything, so in theory someone with no talent in programming at all can create a new application. In pratice that almost never happens, but that is mainly because of the faulty or hard-to-use libraries.
Scripting Enterprise is another of my made-up terms. I realized this tendency about a year ago. Basically, what happens is that an enterprise application becomes a very big pile of libraries wired together by a very thin layer of application logic. The advantages are trivial: faster, slim, stable, portable applications. But there is a question: if that is so, why do I need to use a heavyweight, very complex and strict language – such as Java – to create that thin layer of application code? I want to use those libraries (which may well be written in java for example) from Ruby. Or Python. Or Scala, Javascript, Lua, whatever. That way I’d have the stable, reliable background to work against with an easy to use scripting language. Is that a bad idea? No. But, to be able to do this, obviously, I’d need a standardized API.
Update: One of my colleagues just pointed out that this is exactly what I am writing about in this section. Thanks, Tom.
All in all, I don’t think we need to go back to the stone age of computing. But we do need to find and eliminate those problems which make program development a pain.
Egy neten zajló vita kapcsán újból megállapítottam, hogy nem szeretem az olyan embereket, akkor hiányos tudással ámde roppant magabiztosan állítanak dolgokat, majd amikor én vitába szállok velük, akkor anélkül, hogy az iskolai hátteremről vagy személyemről bármit tudnának, zsigerből beszólnak nekem.
Különösen meleg zug van a szívemben azoknak, akik alapvető angol szavak jelentését próbálják nekem elmagyarázni..
De ilyenkor inkább abbahagyom a vitát. Szerintem kezdek bölcsebb lenni.
“Kelj fel és járj!” – mondtam. Így, életem 33. évében ez egész helyénvalónak tűnt, ráadásul Grétának pont valami ilyesmire is lenne szüksége.
De nem tette, csak kiröhögött: “Ne viccelj, most ültem le!”
Personality-re még gyúrni kell.