Fog Creek Software
Discussion Board




pet projects that fill a need

Was reading the history of php, which is now beating VB for the 4th most popular language in use:

http://www.kuro5hin.org/story/2004/7/14/232752/474

PHP was put together by some college student to assist maintaining his home page.

C was created in order to implement a portable unix.

Unix was created so some guys could play lunar lander during their free time on an abandoned minicomputer in a basement.

I could go on, but I see a pattern - many of the most successful inventions were developed around practically solving a particular problem.

I suggest that languages and OS's have an uphill battle when they are artificially created in a sort of fiat, as opposed to growing over time to solve real problems. The organic inventions have a better chance of being successful.

Dennis Atkins
Thursday, July 22, 2004

Java was designed to run the firmware of washing machines so I guess it passes.

I agree with this statement although, oddly enough, we complain loudest about languages and OS's that are organically evolved.

For PHP, people complain about it's inconsistent function naming, strange object model (now fixed), and other weirdnesses that have evolved over time.  If PHP was engineered in lab, it would not have any of these ugly stains but it also probably wouldn't be used at all.

Almost Anonymous
Thursday, July 22, 2004

Java wasn't implemented to run the actual firmware of an actual washing machine,  and was a solution in search of a problem for a while.

Brent
Thursday, July 22, 2004

Personally, I like Pascal -- but 'Standard Pascal' had really clunky I/O, and no assembly interface.

The Turbo Pascal 3.0 variant (with memory arrays, ability to call software interrupts, variable-length string types, much better interface to the file system) was very nice.  And as it evolved into Object Pascal, and then Delphi, it maintained its efficiency and readability.

Now, the Pascal language was created to be a teaching language -- and as such the 'pure' language had some faults.  I think Turbo Pascal was created in order to have an inexpensive ($50.00) relatively simple compiled language  that would run on the early PCs.  As such, its extensions to the 'pure' language made sense. 

It's major faults (if any) was that it was NOT the 'pure' language (not a problem for me) and that it wasn't C, and that it only had one level of 'include' supported.

I'm not sure if I've proved or disproved your point here.  I did raise another example, though.

AllanL5
Thursday, July 22, 2004

VBA was created to provide an incrementally compiled scripting language for Microsoft Office products, that ran fast enough and had a small 'footprint'.  Worked great for Office 97 and 2000.

AllanL5
Thursday, July 22, 2004

The origin of Unix is a bit more complex than that, I think.

RP
Thursday, July 22, 2004

Yes, Unix was invented so that the word 'plugh' could be used.


And the phrase 'twisty passages all alike'.

Simon Lucy
Thursday, July 22, 2004

I have the impression that PHP syntax is almost, but not quite, entirely unlike Perl.

How can it have been good to reinvent something that did not need reinventing?

Ian
Thursday, July 22, 2004

syntax != model

trollop
Thursday, July 22, 2004

>>Unix was created so some guys could play lunar lander during their free time on an abandoned minicomputer in a basement.


Popular myth

Tom Vu
Thursday, July 22, 2004

"C was created in order to implement a portable unix"

That's a *pet* project?

Yet another anon
Thursday, July 22, 2004

Tom,

Richie, Thompson and Bell Labs all disagree with you:

http://www.bell-labs.com/history/unix/pdp7.html

You guys and your claims that everything is an urban myth while you are talking out of your ass!

Dennis Atkins
Thursday, July 22, 2004

The idea that all interesting nuggets of information are urban myths is itself an urban myth.

Nemesis
Friday, July 23, 2004

Please stop with your sweeping generalisations. Everybody knows that all sweeping generalisations are false.

Herr Herr
Friday, July 23, 2004

"I suggest that languages and OS's have an uphill battle when they are artificially created in a sort of fiat"

Best example I can thing of to support this statement: Ada

Tom H
Friday, July 23, 2004

Ohhh, I really LIKED Ada.

As far as I could tell, the main problem with Ada was there was never a Microsoft (or Borland) compiler for it. 

The Purpose behind Ada was the Defense Departement had different computer languages (Jovial was one) for each service -- Army, Navy, Air Force.  Thus the maintenance was becoming difficult.

So, they wanted to create a nice, scaleable (to millions of lines of code) language.  In true DOD fashion, they did it by committee.  And then mandated that EVERY DOD project use Ada.

What really killed it though was the requirement that DOD owned the 'Ada' name, and to be titled 'Ada' your compiler had to jump through A LOT of testing hoops.  This included a real-time multi-tasking construct, BUILT IN TO THE LANGUAGE.  It COULD NOT be 'customized', or you would lose the 'Ada' name.

As a result, there were only a few companies that created an Ada compiler (Janus? Meridian was one) and they tended to be a little buggy around the edges.

Really productive DOD projects used C, and then C++, which were evolving rapidly.  In the late Nineties, DOD finally unbent enough to allow new projects to be built with C or C++, and that was the death of Ada.

AllanL5
Friday, July 23, 2004

"... is almost, but not quite, entirely unlike..."

Have you noticed how easy it is to spot a Hitchhikers fan.  Completely off topic, I know.  I'll shut up now.

a cynic writes...
Friday, July 23, 2004

I thought Java was invented to run set-top boxes.  (Whatever the hell those are.)

Kyralessa
Friday, July 23, 2004

>>"PHP was put together by some college student to assist maintaining his home page."

And it shows ;)

Matt
Saturday, July 24, 2004

*  Recent Topics

*  Fog Creek Home