permaculture playing cards*
The moose likes Meaningless Drivel and the fly likes Geeky post: ode to the 3 things that I respect most in my computing history Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Geeky post: ode to the 3 things that I respect most in my computing history" Watch "Geeky post: ode to the 3 things that I respect most in my computing history" New topic
Author

Geeky post: ode to the 3 things that I respect most in my computing history

Jan Cumps
Bartender

Joined: Dec 20, 2006
Posts: 2491
    
    8

1: Grady Booch. His book Object Oriented Analysis and Design with Applications !!

2: The Gang of Four's Design Patterns book.

3: The C++ STL library.


OCUP UML fundamental and ITIL foundation
youtube channel
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

I agreee with the first two. But the C++ STL library? Meh. Ok, it is a technically sophisticated thing. It's a while ago I wrote any serious code in C++, but I do remember the horrible and completely unparseable error messages that you get if you did something wrong with the STL. If you need a tool to decrypt such error messages then there is something wrong...

What would you do if the compiler showed you something like this?
error.cpp
error.cpp(16) : error C2664: 'class std::_Tree<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,struct std::pair<class std::basic_string<
char,struct std::char_traits<char>,class std::allocator<char> >
const ,int>,struct std::multimap<class std::basic_string<char,
struct std::char_traits<char>,class std::allocator<char> >,int,
struct std::less<class std::basic_string<char,struct std::
char_traits<char>,class std::allocator<char> > >,class std::
allocator<int> >::_Kfn,struct std::less<class std::basic_string<
char,struct std::char_traits<char>,class std::allocator<char> >
>,class std::allocator<int> >::iterator __thiscall std::
multimap<class std::basic_string<char,struct std::char_traits<
char>,class std::allocator<char> >,int,struct std::less<class
std::basic_string<char,struct std::char_traits<char>,class std::
allocator<char> > >,class std::allocator<int> >::insert(const
struct std::pair<class std::basic_string<char,struct std::
char_traits<char>,class std::allocator<char> > const ,int> &)' :
cannot convert parameter 1 from 'const int' to 'const struct
std::pair<class std::basic_string<char,struct std::char_traits<
char>,class std::allocator<char> > const ,int> &'
Reason: cannot convert from 'const int' to 'const struct std::
pair<class std::basic_string<char,struct std::char_traits<char>,
class std::allocator<char> > const ,int>'
No constructor could take the source type, or constructor
overload resolution was ambiguous



Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Jan Cumps
Bartender

Joined: Dec 20, 2006
Posts: 2491
    
    8

Jesper de Jong wrote:...What would you do if the compiler showed you something like this?
I would panic
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

If I'd have to mention three things myself:

1. The Sun JVM. It's a very sophisticated piece of software, especially the JIT is impressive as it does many sophisticated optimizations to make Java code run fast.

2. The Scala programming language. It's more powerful and better than Java, but it can also be quite complicated sometimes.

3. Linux. It is the definitive proof that open source works and a great example of how people across the world can work together on the largest and most complicated projects.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Jan Cumps wrote:2: The Gang of Four's Design Patterns book.
3: The C++ STL library.


I'll give you your number 1, but I might argue that your history is a bit too modern. Where is Knuth's Art of Computer Programming series? Where is Fred Brook's Mythical Man Month?

I strongly disagree with your #2 and #3.

On #2 The GoF book was groundbreaking when it came out, but its value is grossly overrated. Most of the patterns quickly fell from favor. And the most popular pattern, the only one that is common today, is the worst pattern in the history of OO programing, the D&^* singleton pattern. A proper response would be for Dijkstra to write "Singletons considered harmful"

On #3, the whole concepts of templates in C++ was a crock, the implementations caused terminal code bloat. More importantly, IMHO, was that the need to develop STL reflects a fundamental flaw in C++. The language, a bad hack on C, needed something as baroque and complex as the STL means that the language was flawed from the start.
Hebert Coelho
Ranch Hand

Joined: Jul 14, 2010
Posts: 754

I'm about to buy the second and search for the first book...

But, c++?


[uaiHebert.com] [Full WebApplication JSF EJB JPA JAAS with source code to download] One Table Per SubClass [Web/JSF]
Jan Cumps
Bartender

Joined: Dec 20, 2006
Posts: 2491
    
    8

Pat Farrell wrote:
I'll give you your number 1, but I might argue that your history is a bit too modern. Where is Knuth's Art of Computer Programming series? Where is Fred Brook's Mythical Man Month?
I choose 'my history' in stead of 'the history' on purpose. My computing history hadn't started yet at that time.

Pat Farrell wrote:
I strongly disagree with your #2 and #3.
These critiques are mostly valid (I'm a bad sparring partner, aren't I)
Still these 3 changed how I look at (and love) computing more than other.
Jan Cumps
Bartender

Joined: Dec 20, 2006
Posts: 2491
    
    8

Pat Farrell wrote:A proper response would be for Dijkstra to write "Singletons considered harmful"
I didn't know this Dijkstra story. Great.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

Jan Cumps wrote:
Pat Farrell wrote:A proper response would be for Dijkstra to write "Singletons considered harmful"
I didn't know this Dijkstra story. Great.


Dijkstra's article (goto considered harmful) in the ACM may be the most influential paper in computer science of the past 50 years. It caused a sea change in the acceptance of structured programming, which led directly to the object oriented programming fad of the past 20 to 30 years. It was published in 1968, when Fortran and Cobol were at their peak. Algol had existed since the late 50s, and was standardized in 1960, so structured programming was known, but it was not popular.

In 1973, this paper Global variable considered harmful specifically addressed the fundamental problem that I have with Singletons.

There are many great papers in the history of computer science, and even a few in software engineering. I don't mean to discount them. But a lot of the basics were written in the post WW2 years, sort of a foundational of what Computer Science is. Work by Von Neumann, Shannon, C.A.Hoare, Dijkstra, Wirth, etc should be part of every serious student's background, but sadly, no one wants to remember whose shoulders we are standing on.

Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Jesper de Jong wrote:If I'd have to mention three things myself:

1. The Sun JVM. It's a very sophisticated piece of software, especially the JIT is impressive as it does many sophisticated optimizations to make Java code run fast.

2. The Scala programming language. It's more powerful and better than Java, but it can also be quite complicated sometimes.

3. Linux. It is the definitive proof that open source works and a great example of how people across the world can work together on the largest and most complicated projects.

Wow, Scala !!
I would say Java because IMHO it is the one of the biggest success stories in the industry, Scala is an evolution not a revolution.
Kaustubh G Sharma
Ranch Hand

Joined: May 13, 2010
Posts: 1270

1. kathy- Bert
2. Yashwant kanitkar
3.Google


No Kaustubh No Fun, Know Kaustubh Know Fun..
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

John Todd wrote:Wow, Scala !! I would say Java because IMHO it is the one of the biggest success stories in the industry, Scala is an evolution not a revolution.


I agree that its a bit early to call Scala a big deal. But Java as the biggest success? No way. The "write once, run everywhere" motto was never met. As soon as Microsoft saw it, they invented J++, which was a fork back in the '90s, and then C#, which is another fork.

We in the Java Forums of JavaRanch tend not to see the rest of the world. Both Fortran and Cobol still live, and there are far more programmer years of work, and far more lines of code, in each of those languages than there are in Java.

If Java was so great, why is modern web development done in php, python and ruby?
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Pat Farrell wrote:
John Todd wrote:Wow, Scala !! I would say Java because IMHO it is the one of the biggest success stories in the industry, Scala is an evolution not a revolution.


I agree that its a bit early to call Scala a big deal. But Java as the biggest success? No way. The "write once, run everywhere" motto was never met. As soon as Microsoft saw it, they invented J++, which was a fork back in the '90s, and then C#, which is another fork.

We in the Java Forums of JavaRanch tend not to see the rest of the world. Both Fortran and Cobol still live, and there are far more programmer years of work, and far more lines of code, in each of those languages than there are in Java.

If Java was so great, why is modern web development done in php, python and ruby?

I wasn't in the industry in 1995 but according to what I have read, Java technology sky rocketed Sun's stocks in Wall Streets, the numbers were massive.
No technology/language made that before AFAIK.
Java is the face of this industry.
Why web development is done in PHP, Python and Ruby?
Because most of these projects are small to medium in size and these languages fit perfectly.
Not to mention most of the projects are written hobbyists and not really software developers (and please drop PHP because it is not really a language).
Twitter is written in Ruby/Rails but when Ruby failed to serve under the heavy traffic, Twitter fall back to the JVM (except for the UI).

>We in the Java Forums of JavaRanch tend not to see the rest of the world.
This is generalization and your opinion.

Back to the original thread:
One thing that I respect is the iPhone because it changed and revolutionized the mobile industry.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

John Todd wrote:I wasn't in the industry in 1995 but according to what I have read, Java technology sky rocketed Sun's stocks in Wall Streets, the numbers were massive. No technology/language made that before AFAIK. Java is the face of this industry.

I was, and was in '85 and '75 as well. Sun's stock rose because as their ads said at the time, their hardware powered the new fangled Internet thing. Java had nothing to do with that.

John Todd wrote:Why web development is done in PHP, Python and Ruby?
Because most of these projects are small to medium in size and these languages fit perfectly.

I believe that the fact's don't support your claim. New systems are being written in tons of languages, many because Java is too complex and clunky to get started.

The world needs systems and solutions that can be implemented quickly. Throw it together, use MySql, see if the market likes it. If you have to rewrite to scale, throw away SQL and go to memcached.

John Todd wrote:Twitter fall back to the JVM (except for the UI).

The JVM is not Java. There are lots of cool languages that run on the JVM, languages that are not Java.

John Todd wrote:"We in the Java Forums of JavaRanch tend not to see the rest of the world."
This is generalization and your opinion.

You bet, its my opinion based on a lot of observations.

John Todd wrote:One thing that I respect is the iPhone because it changed and revolutionized the mobile industry.

More than just the mobile industry. Its disrupting the entire IT industry. Smart phones are pocket computers. Oh, and did you note that Java is not on the list of acceptable languages for developing iPhone and iPad applications?
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

3 things in my own personal history:
  • Mathematics education
  • Mac OS X
  • Java


  • 3 things in the grander scheme:
  • The concept of zero
  • The Babbage Engine
  • Eniac


  • "We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
    sscce.org
    Hussein Baghdadi
    clojure forum advocate
    Bartender

    Joined: Nov 08, 2003
    Posts: 3476

    >The JVM is not Java. There are lots of cool languages that run on the JVM, languages that are not Java.
    I know, I made it clear I mean the JVM.

    >More than just the mobile industry. Its disrupting the entire IT industry. Smart phones are pocket computers. Oh, and did you note that Java is not on the list of acceptable languages for developing iPhone and iPad applications?
    Sorry but this isn't a measuring tool, Apple has its own technologies (and its know iron fist).
    You can't say Java is bad because Microsoft or Apple don't have Java in their stack.
    Did you note that Java is used for Android?
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4646
        
        5

    marc weber wrote:3 things in my own personal history:
  • Mathematics education
  • Mac OS X
  • Java


  • 3 things in the grander scheme:
  • The concept of zero
  • The Babbage Engine
  • Eniac


  • As someone with a BS Math, I sure am not going to argue against your #1. For me, the key was the PDP-10's timesharing operating systems, Tops-10 and Tops-20, which gave me a personal (altho million dollar) computer decades before Jobs or Gates.

    Along with zero, we have all of the world of algebra that the Arabs invented while the "west" was in the dark ages.
    Frank Silbermann
    Ranch Hand

    Joined: Jun 06, 2002
    Posts: 1386
    Jesper de Jong wrote:I agreee with the first two. But the C++ STL library? Meh.
    It's bad enough that C++ inherited from C the peculiarity that arrays are implemented as pointers. OK, maybe that's more efficient for systems programming, but who had the stupid idea that this this peculiar pointer-based interface to arrays should be imitated by ALL collections???
    Jan Cumps
    Bartender

    Joined: Dec 20, 2006
    Posts: 2491
        
        8

    Seems I am the only one who loves the STL. Makes me kind of unique.
    But do you have three things that you want to share?
    Joachim Rohde
    Ranch Hand

    Joined: Nov 27, 2006
    Posts: 423

    Pat Farrell wrote:
    Dijkstra's article (goto considered harmful) in the ACM may be the most influential paper in computer science of the past 50 years.

    Even though the reviewer didn't see that coming. ;-)
    Henry Wong
    author
    Sheriff

    Joined: Sep 28, 2004
    Posts: 18545
        
      40


    My favorite book is, still by far, "Software tools in Ratfor". Of course, it is now completely obsoleted -- but nostalgia still rules...

    Henry


    Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4646
        
        5

    Henry Wong wrote:My favorite book is, still by far, "Software tools in Ratfor". Of course, it is now completely obsoleted

    I agree, that was an eye opening book. It was my first exposure to the concept of tools. About when it came out, I was doing all my work in "flecs" which was a ratfor-style preprocessor to make Fortran tolerable.

    I wonder how many ranchers are old enough to remember it.
    ankur rathi
    Ranch Hand

    Joined: Oct 11, 2004
    Posts: 3830
    Pat Farrell wrote: New systems are being written in tons of languages, many because Java is too complex and clunky to get started.


    IMO, Java is the simplest language out of all the languages I saw or worked on. It's syntax is really simple & intuitive. It tells you what's going on here (calculator.multiply(4, 5)).
    I had very little experience on Perl few days ago & I hated it. I found syntax very complex & confusing. What's $f -> shift? What's $r -> f?
    I think Java is really a developers friendly language.
    ankur rathi
    Ranch Hand

    Joined: Oct 11, 2004
    Posts: 3830
    For the original question, my answer for today is -
    1. Google (search engine & company both)
    2. Wikipedia
    3. Java
    Ulf Dittmer
    Marshal

    Joined: Mar 22, 2005
    Posts: 41137
        
      45
  • Reading Gödel, Escher, Bach has influenced me in numerous ways
  • Wirth's Algorithms & Data Structures introduced me to the "professional" way of programming (no more spaghetti code)
  • Taking classes off the beaten path -like functional and logic programming languages, neural networks, parallel computing- broadened my outlook beyond core CS subjects and thus were very useful


  • Ping & DNS - my free Android networking tools app
    Stephan van Hulst
    Bartender

    Joined: Sep 20, 2010
    Posts: 3602
        
      14

    There are so many things that I think are worthwhile to mention, but for now I will limit it to Intel's 80x86 architecture, and Microsoft's MASM32 assembler. These are some very sophisticated bits of technology that impress me greatly.
    Matthew Brown
    Bartender

    Joined: Apr 06, 2010
    Posts: 4344
        
        8

    In terms of personal influence, I'd be tempted to say the BBC Model B. The cornerstone of a programme to get computers into UK schools in the 80s, which is what got me interested in programming in the first place.
    Henry Wong
    author
    Sheriff

    Joined: Sep 28, 2004
    Posts: 18545
        
      40

    Pat Farrell wrote:
    Henry Wong wrote:My favorite book is, still by far, "Software tools in Ratfor". Of course, it is now completely obsoleted

    I agree, that was an eye opening book. It was my first exposure to the concept of tools. About when it came out, I was doing all my work in "flecs" which was a ratfor-style preprocessor to make Fortran tolerable.

    I wonder how many ranchers are old enough to remember it.



    I guess I should list three things...

    1. The Commodore 64. My first computer; along with my first and second programming languages -- BASIC and 6502 Assembly.

    2. Turbo Pascal. Although Pascal is not my favorite language, this is definitely my first "IDE" -- that proved that a good developer product can greatly enhanced productivity.

    3. And my favorite book -- already mentioned.

    Henry
    pete stein
    Bartender

    Joined: Feb 23, 2007
    Posts: 1561
    Henry Wong wrote:[2. Turbo Pascal. Although Pascal is not my favorite language, this is definitely my first "IDE" -- that proved that a good developer product can greatly enhanced productivity.


    I strongly second this. Pascal was my very first language, and to be able to have my very own compiler and IDE and not have to share time on a Dec 10 was nonthing short of amazing.
    My other two early experiences that shaped me was joining a TUG or "Turbo Users Group" in the Indianapolis area, where hobbiests like me could meet with real programmers. One in particular, a fellow named Alan Plantz was as kind and gentle a soul as ever there was, a phenomenal teacher, who taught me much and who met an early death. I am always thankful for having met him and still miss him even though it's been some 20 odd years since his passing.
    Stephan van Hulst
    Bartender

    Joined: Sep 20, 2010
    Posts: 3602
        
      14

    Turbo Pascal was pretty amazing. Actually, it was the very first thing I ever used in computer programming.
    Arun Kumarr
    Ranch Hand

    Joined: May 16, 2005
    Posts: 513

    marc weber wrote:3 things in my own personal history:
  • Mathematics education
  • Mac OS X
  • Java


  • 3 things in the grander scheme:
  • The concept of zero
  • The Babbage Engine
  • Eniac


  • - As a fellow math lover, I give this.


    If you are not laughing at yourself, then you just didn't get the joke.
     
    wood burning stoves
     
    subject: Geeky post: ode to the 3 things that I respect most in my computing history
     
    Similar Threads
    Preparation for SCWCD
    Passed Part 2/3
    student taking SCEA and what books to read
    Gave the exam
    Scored 86% in SCWCD.Once Again My HeartFelt Thanks Kathy,Bert and Bryan