21
samir
7y

Why is C++ the first language taught in schools when Ruby is a much simpler and fun language?

History says because the courses didn't get updated.

Conspiracy theory says it's to keep out people who can't deal with complexity.

Comments
  • 4
    My school primarily teaches java
  • 10
    It's better to have your foundation based on something solid rather than something fun. I am not a c++ fan but i am glad that's the language my school chose to introduce us to programming.
  • 0
    By that argument I can say that assembly is even more solid ground than C++. Taking advantage of abstractions makes sense when you are learning for the first time. Later on you can learn lower levels. @coookie
  • 5
    C and c++ give basics of programming language that even java could not... Don't compare it to python.... You don't wanna learn including libraries and writing longer statements in the beginning...u want the language to be simple to understand just how they work and how to implement the logic . for that c and c++ are best.
  • 2
    Simplicity is not in assembly language @samir
  • 0
    We had assembly language (8085-8086 microprocessor) then C, C++, Java, C#
    Then JSP, PHP, ASP.NET and on other side Hadoop and R.
    And not to mention for database we had Oracle...fml
    But unfortunately our teachers are shit, no practical sessions for hadoop and R...
  • 2
    We had C and Pascal first. Then we were later told Pascal is obsolete.
  • 2
    I think my school got it right

    I had python>java>assembly>c>c++ and I think this works

    Python to tech basic concepts loops ect

    Java to teach OOD /TDD/algorithms/data structures/multi threading.

    Assembly to understand the underlying hardware,micro controllers, linking ect

    C to teach pointers and gratitude cos F assembly.

    C++ for memory management /AI
    While having java concurrently to learn networking.
  • 1
    My first one was pascal... Second c++, third visual basic 6... I'm old :(
  • 3
    @coookie
    I agree. I heard some people say that if you know c/c++ learning any other language is a breeze.
  • 1
    My school taught Java and I near now they're switching to python
  • 0
    @samir there is a reason why schools still choose c++ because that's the language that teaches you so many things regarding workings of computers at a certain level. Fun at start can be very harmful later on .Aim should be to learn instead of having fun.i have a lot of fun with coding Python and I use Python most of the time but will I ever in my right mind recommend it to schools?Never!!!!!!
  • 0
    My school first thought us lua and then java
  • 1
    C++ has the largest codebase in the world, and is used by more developers for more applications than any other language. That may change one day, but for now C++ rules the roost.
  • 1
    As long I love c# ... I agree with my high school and uni decision to teach first c/c++ and than java
  • 0
    Well... First language I really learned was logic programming... 3 months coddling in paper
  • 0
    @Flukz mine too! But yeah.. It's a bit hard to het started
  • 2
    @samir We both know that's not the only factor. I personally, moulded my thoughts according to what I was taught. Had it been Python, I would have thought in abstractions and just abstractions. Maybe this works with kids, most probably it does and it makes perfect sense but I was 14 when introduced to C++ and programming in general. I do believe, at that age at least, C++ was a good choice. Not too close to the metal, not too far.
  • 0
    @coookie Let me use an analogy to better illustrate my point.

    When you teach a baby to speak, do you start with alphabets or everyday objects?

    You start with everyday objects because they are easier to grasp and relatable. Even though alphabets are arguably more basic and powerful. Easy to start, grasp, relate to and fun are important elements of learning.

    But later on you do teach them alphabets.

    Sequence doesn't hinder learning ABC.

    Ruby is easy to start(hello world), grasp, relate to because of similarity to spoken language and fun to learn because interpreted output is immediate.

    For understanding a hello world program in C++, you have to understand the concepts of including files, functions, the cout object and the main function. Thats a lot to cover for just printing a string.

    C and C++ are great languages to learn how things work at a deeper level. And hence are great as a 2nd or 3rd language. They just aren't the best first languages to be taught.
  • 1
    @orto I AM with you on that! F*** ASSEMBLY!

    But my teacher once told in a class that "if they pay.. you'll love Assembly".
    Yeah.. He is a bit of a lame teacher, but.. That's not entirely wrong.
  • 0
    @samir At this point, I think it's subjective. I feel comfortable with c being my first language whereas you don't. The points you bring up about having more to do for a mere Hello world are valid but again only for kids.

    Besides, what's taught is basic structure. We don't get to make libraries in c++ and interact with video card. What you think will be taught through Python is already being taught through C++. What comes extra with C is a bit of intro to what goes on under the hood, and that's valuable imo.
Add Comment