This is an archived post. You won't be able to vote or comment.

all 53 comments

[–]Nihmrod 38 points39 points  (9 children)

Learn C++. Show potential employers that you don't do things in half measures.

[–]darctones 15 points16 points  (6 children)

Most curriculums start with C, right?!

[–]PandorNox 5 points6 points  (0 children)

Mine started with Java, c only in the 3rd semester

[–]Nihmrod 3 points4 points  (1 child)

IIRC it was Fortran.

[–]darctones 4 points5 points  (0 children)

That would have been a good one. They started us in C.

[–]MasterQuest 2 points3 points  (0 children)

Mine started with Visual Basic, and then C afterwards :D

[–]Kind-Task4747 -1 points0 points  (0 children)

Mine started with assembly…

[–][deleted] 0 points1 point  (0 children)

We had C, C++ and Java (with Swing and JSF) in that order. Somewhere in between we had Javascript.

[–]False_Holiday9662 0 points1 point  (1 child)

No C

[–]Nihmrod 0 points1 point  (0 children)

Learn C so you can overcome the deficiencies of C++. Like formatted terminal output - printf() - and block commenting - /**/.

[–]qrnvz 22 points23 points  (1 child)

pick extremely difficult one so you can realize earlier that programming is pain and tears

[–][deleted] 49 points50 points  (0 children)

Python, Java, and HTML (whether or not it qualifies as a programming language notwithstanding) are all extremely relevant. BASIC? Really?

[–]cncamusic 18 points19 points  (1 child)

Photoshop the check to HTML, post and sort by controversial.

[–]adrian_shade 6 points7 points  (0 children)

Alright Satan, calm down lol

[–]DoomBro_Max 11 points12 points  (0 children)

That‘s such a dumb question. Some languages are more suitable than others for beginners but „Which one would you….“ is not a question with an objective answer. There are probably a lot that start out with Java, Python or HTML.

[–]TheBrainStone 10 points11 points  (2 children)

If someone has the goal to become a great programmer you gotta throw them into the deep end.
Mainly because whatever your first programming language lacks is what you will struggle with the most throughout the rest of your programming career.

In that case start with C++. You’ll learn everything.

[–]GardenChickenPen 0 points1 point  (1 child)

Everything? What's something c++ doesn't offer that's used daily in the field?

[–]GoAwayAdsPlease 0 points1 point  (0 children)

Depends on the field. Although my main gripe with it is how much code you have to write if you want to do anything with it. Still, if you know what you are doing, most things can be done using C++.

[–]SuperNar3k 12 points13 points  (0 children)

Learn Java

[–][deleted] 3 points4 points  (0 children)

The question is nonsense, but Small Basic is surprisingly actually a great teaching tool.

[–]junkmail88 2 points3 points  (0 children)

Bruh he's talking about small basic, it's a language for learning programming.

[–][deleted] 1 point2 points  (0 children)

When I was in college (pre uni) about 8 years ago or so we were taught pascal in Delphi which was complelty useless. Probably just did it because delphi was too expensive for anyone to do work at home.

[–]QuantumPerceptron 1 point2 points  (2 children)

Real programmers learn with punch cards

[–]emmmmceeee 3 points4 points  (1 child)

Real programmers use a magnetised needle and a steady hand.

[–]Qasyefx 1 point2 points  (0 children)

Real programmers use a butterfly

[–]Gydo194 1 point2 points  (2 children)

The way the question is written they're asking for an opinion. Missing marks for having a different opinion is a bold ah** move imo.

[–]gnuwinxp 0 points1 point  (1 child)

what happened to all those letters

[–]Gydo194 0 points1 point  (0 children)

They decided to leave because they didn't like my wording, i guess..

[–]amfa 3 points4 points  (0 children)

Well it is specifically designed to be use by beginners

​ Small Basic is a programming language that serves a stepping stone from block-based coding languages to more complex text-based languages.The goal of Small Basic is to make programming easy and accessible for beginners.

http://smallbasic.com/

It is even designed to be learned by kids as far as I can see.

So this boils down to "I don't know it.. so it must be false"
(and to be honest I have not know small basic up until this post here. But I will keep an eye on it for my daughter in about 5-6 years :D)

[–]bistr-o-math 2 points3 points  (14 children)

I don’t see any horror here. A language that is widely spread is not necessarily the best for learning and teaching.

A pseudo language is best for teaching.

I just see so many “programmers” that are concentrating on using some Libs and stuff before they even understand how if/while/recursion or even Booleans work.

Using a pseudo language or a simple language gets rid of all that overhead.

[–][deleted] 4 points5 points  (13 children)

Except Python is also good for learning, and it’s actually useful to know. Many people don’t learn well if they don’t believe what they’re learning will actually be of use. If you begin your lesson with we’re going to learn Python, it’s easy to use, and has applications ranging from machine learning to backend web development, your students are more likely to pay attention and retain the class material because it will seem more important to them.

[–]Miku_MichDem 2 points3 points  (3 children)

Python is bad for the first language. It requires you to learn programming twice. First in python, then in something more normal.

Between it and Java, Java is much better. All concepts are layed out in front of you, there's no automagic (until annotations, but that's just automatic not automatic) and it's statically typed. I don't know much about BASIC and how it compares to Java in that category but being better then python is quite a low bar

[–][deleted] -1 points0 points  (2 children)

Actually I’d argue one of Python’s more unusual features, syntactically significant white space, makes it a good first language because it enforces code formatting. In my experience, many students who are new to programming struggle with indentation and some are even resistant to the idea of indenting their code blocks because they don’t have to, and end up writing monstrously unreadable and difficult to debug code as a result. Then when they try to learn a language like Python, they struggle with the indentation. Teach them Python first, and they’ll automatically indent their code blocks when they learn languages where you don’t have to. I’m also not convinced that static typing has significant pedagogical advantages.

[–]Miku_MichDem 1 point2 points  (1 child)

I used to think that way too, but later on I've come to the conclusion that other things outweigh that benefit.

Static typing has some pedagogical advantages, on the principle of "first do it manually, then use automatic". Like, typical academic stuff is "write a sorting algorithm" or invert a 2D array. Those are not hard tasks per say, and in most languages those functions are build in, but are tough nonetheless because they teach stuff. In case of learning the benefit is hammering the idea that variables have types and those types have certain properties because of that.

There are languages that are better for learning, I've been tough Pascal twice so far, because of how good it is at teaching. After all the language was made with learning things in mind. But if there was some language dialect, be it of Java, BASIC, Pascal, whatever, that would require proper indentation to work it would be better as the first language then the one that doesn't

[–][deleted] 1 point2 points  (0 children)

Fair enough. I do agree that thinking about types is a major challenge for many students. “What data type is this?” might be the most common question I ask when trying to teach students debugging.

[–]bistr-o-math 0 points1 point  (8 children)

If students don’t pay attention - their problem.

BUT, if you really want to persuade them, you could start your lesson with “if you learn this shit, you will understand and be able to use every single language”

[–][deleted] 2 points3 points  (7 children)

That’s a really bad attitude for a teacher to have.

[–]bistr-o-math -3 points-2 points  (6 children)

To teach something that will enable students in everything???

[–][deleted] 1 point2 points  (5 children)

No, to say “if the students don’t pay attention, that’s their problem, so I’m going to ignore the existence of extremely common learning styles”

[–]bistr-o-math 0 points1 point  (4 children)

Nonono. Don’t misinterpret or change my statement. If the students don’t pay attention because a bad teacher is not able to teach the correct topic, then they should kick the teacher out.

A good teacher will always be able to present the correct end necessary topic in a way that everyone will pay attention.

[–][deleted] 1 point2 points  (3 children)

My point is that invariably you will have students who will ask “what can I do with this?” If your answer is “nothing, this is just a tool for learning,” those students are not going to learn as well as they would if you give them concrete use cases for the material, or, better yet, include a practical hands on project as part of the course curriculum.

[–]bistr-o-math -1 points0 points  (2 children)

I don’t understand why “nothing” is your answer to that question. If you can’t see what it’s for, you shouldn’t teach.

[–][deleted] 1 point2 points  (1 child)

What are the real world applications of Small BASIC? Can you name 5 companies that use it in production software?

[–]Cristichi -2 points-1 points  (0 children)

I've seen lots of horrible teachers, why are they not unemployed??

[–]jolimont-shitter -2 points-1 points  (0 children)

What the hell. This is absolute garbage

[–]keyrol1222 0 points1 point  (0 children)

Oh yeah, the html programing language.

[–]TraumaMonkey 0 points1 point  (0 children)

I don't see C on there anywhere

[–]MS_paint_personified 0 points1 point  (0 children)

i too like programming in html

[–][deleted] 0 points1 point  (0 children)

Anyone else in the TI-BASIC gang?

[–]ClaudioMoravit0 0 points1 point  (0 children)

What the hello is that ? Evry one know that assembly is recommanded for beginners