• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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

 
Bartender
Posts: 2661
19
Netbeans IDE C++ Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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


 
Jan Cumps
Bartender
Posts: 2661
19
Netbeans IDE C++ Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jesper de Jong wrote:...What would you do if the compiler showed you something like this?

I would panic
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Ranch Hand
Posts: 754
Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm about to buy the second and search for the first book...

But, c++?
 
Jan Cumps
Bartender
Posts: 2661
19
Netbeans IDE C++ Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 2661
19
Netbeans IDE C++ Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.

 
clojure forum advocate
Posts: 3479
Mac Objective C Clojure
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Ranch Hand
Posts: 1283
Netbeans IDE Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1. kathy- Bert
2. Yashwant kanitkar
3.Google
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 3479
Mac Objective C Clojure
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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?
 
Sheriff
Posts: 11343
Mac Safari Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
  •  
    Hussein Baghdadi
    clojure forum advocate
    Posts: 3479
    Mac Objective C Clojure
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    >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
    Posts: 4803
    7
    Mac OS X VI Editor Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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.
     
    Ranch Hand
    Posts: 1419
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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
    Posts: 2661
    19
    Netbeans IDE C++ Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    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?
     
    Ranch Hand
    Posts: 433
    Netbeans IDE
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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. ;-)
     
    author
    Posts: 23951
    142
    jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

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

    Henry
     
    Pat Farrell
    Rancher
    Posts: 4803
    7
    Mac OS X VI Editor Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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.
     
    Ranch Hand
    Posts: 3852
    • Likes 3
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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
    Posts: 3852
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    For the original question, my answer for today is -
    1. Google (search engine & company both)
    2. Wikipedia
    3. Java
     
    Rancher
    Posts: 43081
    77
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
  • 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
  •  
    Saloon Keeper
    Posts: 15491
    363
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    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.
     
    Bartender
    Posts: 4568
    9
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    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
    Posts: 23951
    142
    jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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
     
    Bartender
    Posts: 1561
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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
    Saloon Keeper
    Posts: 15491
    363
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Turbo Pascal was pretty amazing. Actually, it was the very first thing I ever used in computer programming.
     
    Ranch Hand
    Posts: 662
    Eclipse IDE Spring Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    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.
     
    Paddy spent all of his days in the O'Furniture back yard with this tiny ad:
    a bit of art, as a gift, that will fit in a stocking
    https://gardener-gift.com
    reply
      Bookmark Topic Watch Topic
    • New Topic