Real World Programming - new paradigm? new programming language?

Posted by on in Blogs
In my ongoing conversations with Charlie Calvert over the past decade, I've been continuing to bring up the subject of simplifying programming, simplifying programming languages, simplifying programming paradigms.  With all of the platforms, operating environments, programming languages, component libraries, class libraries, and tools, I still thirst and strive to make programming even simpler.  OOP as a programming paradigm has lasted the longest in our modern programming era.  With objects modeling the real world we have, in our hands, a good solution set for most real world programming problems.  We have extended the reach of our programming languages (Delphi, C++, C#, Java, Basic) to meet new challenges and opportunities.  New languages have appeared, especially for Internet application development (Python, PHP, Ruby).  But I am still not satisfied (maybe I never will).

During my time off, I've been reading and thinking.  In some quick research, I found two papers that have good thoughts about realness and tangibility in some of the things we programmers do:

Real World Programming” by Toshiyuki Masui of Sony Computer Science Laboratories.

In Search of Metaphors for Tangible User Interfaces” by Dag Svanaes Computer Science Department Norwegian University of Science and Technology, and William Verplank Interval Research Palo Alto California.

In my life long quest to make real programming as simple as possible, I am guided by Arthur C. Clarke's three laws of prediction:

  1. When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.

  2. The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

  3. Any sufficiently advanced technology is indistinguishable from magic.


I am sure, it is possible, to simplify what we do, much more than we have done. I am sure it is not an impossible task. I am sure we can push past the many limits we currently have in programming. I am sure that we will continue to create the magic. What will it take? The spirit of adventure, new frontiers in programming languages, libraries, platforms, and tools.

The adventure continues!


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Jennifer-Ashley Friday, 29 December 2006

    This may be a bit off topic, David, but I heard Borland/CodeGear was planning development solutions for PHP and Ruby. If that were true, I would welcome sucht tools very much.

  • Guest
    Zenon Monday, 1 January 2007

    > Jennifer-Ashley

    > Posted @ 12/30/2006 6:13 AM

    > This may be a bit off topic, David, but I heard Borland/CodeGear was

    > planning development solutions for PHP and Ruby. If that were true, I would welcome sucht tools very much.



    Jennifer,



    With 100+ developers they were hardly able to mantain their present products.

    In fact for the last few years they failed to do that at the apprpriate level.

    I truly doubt adding more producta without substantial increase of development

    resources can bring them any good in the future.



    I wish I am wrong but in real life there are usually no miracles ...



    Just my 2 cents.



    Regards,

    Zenon

  • Guest
    daniel Tuesday, 2 January 2007

    here we go:



    * Real Programmers do List Processing in Fortran.



    * Real Programmers do String Manipulation in Fortran.



    * Real Programmers do Accounting (if they do it at all) in Fortran.



    * Real Programmers do Artificial Intelligence programs in Fortran.



    * Real Programmers aren't afraid to use GOTOs.



    * Real Programmers can write five page long DO loops without getting confused.



    * Real Programmers like Arithmetic IF statements-- they make the code more interesting.



    * Real Programmers write self-modifying code, especially if they can save 20 nanoseconds in the middle of a tight loop.



    * Real Programmers don't need comments-- the code is obvious.



    * Since Fortran doesn't have a structured IF, REPEAT ... UNTIL, or CASE statement, Real Programmers don't have to worry about not using them. Besides, they can be simulated when necessary using assigned GOTOs.



    * Fortran preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming-- great for making Quiche. See comments above on structured programming.



    * Source language debuggers. Real Programmers can read core dumps.



    * Compilers with array bounds checking. They stifle creativity, destroy most of the interesting uses for EQUIVALENCE, and make it impossible to modify the operating system code with negative subscripts. Worst of all, bounds checking is inefficient.



    * Source code maintenance systems. A Real Programmer keeps his code locked up in a card file, because it implies that its owner cannot leave his important programs unguarded [5].



    * Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.



    * Real Programmers work for the National Security Agency, decoding Russian transmissions.



    * It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.



    * The computers in the Space Shuttle were programmed by Real Programmers.



    * Real Programmers are at work for Boeing designing the operation systems for cruise missiles.



    * At a party, the Real Programmers are the ones in the corner talking about operating system security and how to get around it.



    * At a football game, the Real Programmer is the one comparing the plays against his simulations printed on 11 by 14 fanfold paper.



    * At the beach, the Real Programmer is the one drawing flowcharts in the sand.



    * At a funeral, the Real Programmer is the one saying "Poor George. And he almost had the sort routine working before the coronary."



    * In a grocery store, the Real Programmer is the one who insists on running the cans past the laser checkout scanner himself, because he never could trust keypunch operators to get it right the first time.



    * Listings of all programs the Real Programmer has ever worked on, piled in roughly chronological order on every flat surface in the office.



    * Some half-dozen or so partly filled cups of cold coffee. Occasionally, there will be cigarette butts floating in the coffee. In some cases, the cups will contain Orange Crush.



    * Unless he is very good, there will be copies of the OS JCL manual and the Principles of Operation open to some particularly interesting pages.



    * Taped to the wall is a line-printer Snoopy calendar for the year 1969.



    * Strewn about the floor are several wrappers for peanut butter filled cheese bars-- the type that are made pre-stale at the bakery so they can't get any worse while waiting in the vending machine.



    * Hiding in the top left-hand drawer of the desk is a stash of double-stuff Oreos for special occasions.



    * Underneath the Oreos is a flow-charting template, left there by the previous occupant of the office. (Real Programmers write programs, not documentation. Leave that to the maintenence people.)



    * No Real Programmer works 9 to 5. (Unless it's the ones at night.)



    * Real Programmers don't wear neckties.



    * Real Programmers don't wear high heeled shoes.



    * Real Programmers arrive at work in time for lunch.



    * A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII (or EBCDIC) code table.



    * Real Programmers don't know how to cook. Grocery stores aren't open at three in the morning. Real Programmers survive on Twinkies and coffee.



    :-) lol!

  • Guest
    Patman Tuesday, 2 January 2007

    Real programmers aren't called Daniel. That's way too recent 8o))

  • Guest
    David Howes Tuesday, 2 January 2007

    Ahh so Borland ( sorry 'Codegear' ) staff want to gaze with star filled eyes into the future and beyond the known possible. May I suggest instead a new mission: to 'explore strange new QC reports, to seek out new memory leaks and random crashes, before going boldly where no man has gone before' :-)

  • Guest
    David V Tuesday, 2 January 2007

    If CodeGear is looking to make money must abandon some good things that worked before and start looking really futuristic things like this.



    Here are four of the paradigms that the actual development tools industry is stuck to, and CodeGear can take and advantage if goes one step forward and breaks them:



    1. Programming is writing code: False. Coding is the most complex and error prone task in programming



    2. Programming is a task for programmers: False. Many people needs to program for themselves and will pay for the ability of eliminating the dependency on techies for the work.



    3. Top-notch programming is done in .NET, Java o AJAX: False. Real top-notch applications aren't fixed to a particular Platform, but creates their own platform.



    4. Relational Databases are the best place for storing data: False. With the complexity of today applications, trying to use a database is like putting the round piece in the square hole. That's the reason we have things like ECO: excellent solutions to the wrong problem.



    What we need to break these paradigms? Just a bit of open mind, creativity, bravery and patience. Personally, I've been venturing with sucess, so I have to say it´s possible (sorry I'm not the distinguished or elderly scientist), but somebody in someplace in the world, that also wants to break these paradigms, will create a full product, open a Blue Ocean, and CodeGear and the rest of the industry will be forced to change or disappear.



    Why CodeGear doesn't create the next product that will open the Blue Ocean of Programming?

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: