理想郷

コラム サービス

The utopia and illusion of those who think they can get by with tools

For decades, tool vendors and industry pundits often said they were seeing signs of tools that would make programming unnecessary.

The first to bear such promise was, ironically, FORTRAN.

FORTRAN is an acronym for FORmula TRANslation, and the idea was to allow scientists and engineers to simply enter mathematical formulas.

While FORTRAN was certainly successful in enabling scientists and engineers to program, it is still a fairly low-level language by our modern standards.

FORTRAN did not make programmers unnecessary, and its only contribution to the industry was to advance the software industry.

The software industry introduced tools that reduced or eliminated some of the tedious tasks of programming, such as the details of laying out source statements, the sequence of tasks required to edit, compile, link, and execute them, the work required to detect parenthesis mismatches, the steps required to create a standard message box, etc. The new tools will help improve productivity a bit.

With the new tools, productivity was gradually improving, and critics speculated that this would continue indefinitely, eventually reaching a point where "programming would no longer be necessary."

In reality, however, programming innovations always come with drawbacks.

These drawbacks are gradually being overcome, and the evolution of technology confirmation is finally being demonstrated.

Once the basic tool concept has been put to practical use, future prospects are enhanced by removing problems that were accidentally created in the process of creating the new tool.

Removing these accidental problems did not improve productivity itself.

It simply reduced the "one step back" from the "two steps forward, one step back" approach.

Over the past few decades, programmers have seen an abundance of tools that were supposed to eliminate programming.

First third generation languages, then fourth generation languages, then automated programming, CASE, visual programming.

All of these innovations have contributed to incremental improvements in programming.

They have forced those who learned programming before the innovations to admit that they did so.

But none of them led to the elimination of programming.

The driving force that kept programming from being eliminated was the inherent difficulty of programming, even with adequate tool support.

No matter what tools are available, programmers must contend with the messiness of the real world.

So you have to think thoroughly about procedures, dependencies, exceptions, and politics.

And you also have to deal with indecisive end users.

Programmers are always plagued with ambiguous interfaces to other software and hardware, and are held accountable for complexities that arise in the world outside of computer programming, such as regulations and business rules.

There is always a need to bridge the gap between the real-world problems to be solved and the computers that are expected to solve those problems.

These people are called programmers, whether they manipulate machine registers in assembler or dialog boxes in Visual Basic.

As long as there are computers in this world, there will always be a need for people to communicate instructions to computers, and such activities will still be called programming in later generations.

When you hear a tool vendor advertise, "With this new tool, you won't need a computer programmer," you can either rush out and get it and try it, or, if you know historically that no such thing exists, you can scoff at the vendor's lack of awareness.

  • この記事を書いた人

九十九史恩

キーを叩いていないときは、都会や田舎の風景を探検しています。

よく読まれている記事

条件の0=0は全てが正であるを意味するSQL 1

SQLの条件に0=0のような記述を見かけます。 変わった書き方の条件ですが、これは「全てが正である」事を意味しており、結合条件の場合はCROSS JOINと同じです。 下記の例で言えば、結合するsub ...

DISTINCTを使わないで重複排除を考えるSQL 2

SQLのDISTINCTはEXISTSとかGROUP BYでなんとかする事もできます。 DISTINCTは暗黙的なソートがされますが、何のDBを使うにせよ過去のバージョンならともかく、最近のバージョン ...

RFC 5322に準拠させた正規表現言語別 3

RFC5322で定義されている正規表現を、各言語の正規表現に変化させた形になります。 完全な電子メール正規表現は存在しないので、結局のところ何かの公式基準に従っていたとしても、自分が携わるサービスのル ...

-コラム, サービス