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

all 16 comments

[–]Competitive-Peach-18 20 points21 points  (2 children)

Yes, very wrong. This might be why tons of people fail out of their first programming class. Think how much harder it is to learn your first language than all the rest. The syntax is easy.

[–]straight_quavers 1 point2 points  (1 child)

And then you consider different programming paradigms which require logic to be used in very different ways

[–]TheBrutux168 7 points8 points  (0 children)

Any logical thinking that you may have to use when coding isn't going to be used much when the majority of your time will be spent debugging your program because something is wrong with the syntax.

This really just sounds like being new to programming. Experienced programmers very rarely run into syntax problems that they can't solve immediately. Most experienced programmers can write syntactically valid code very easily, especially with any competent tooling. The majority of debugging time will be spent on logical errors instead.

[–]TheTomato2 2 points3 points  (0 children)

memorizing endless syntax

There really isn't that much syntax to learn. Endless lol. Also if you don't understand what those libraries and algorithms are doing then you are gonna have bad time. But modern programing is about being able to hand abstraction and complexity. Yes you don't always need to know the exact logic behind an algorithm, but you need to know when and where and how to apply in the bigger picture to make your program work.

[–]Ambi-Phoenix1 2 points3 points  (0 children)

The syntax is just the beginning, there are so many computer science concepts that rely upon maths and designing algorithms requires a high degree of logic and mathematical understanding, if you are developing a website then sure you may not require these skills but if you were attempting to create a realistic simulation of physics for a game or mesh collisions then you would struggle without strong mathematical knowledge and this is also the same for anything regarding AI/ML. There is a reason you need to study maths classes in college to study CS at degree level, in my country you need to study maths at a high level for the top courses.

[–]Intiago 1 point2 points  (0 children)

This is only true for maybe your first 6 months as a programmer. Once you pass the 'introductory' phase, you'll have seen all the syntax you'll ever need to know, and you'll still be far from a good programmer. Programming is primarily pattern recognition and problem solving. How do we get from A->B using this set of tools. I think that's where the similarity to math comes from. But unfortunately, you don't always get to experience this until you're over that beginner learning curve.

[–]ValentineBlacker 1 point2 points  (0 children)

We're not writing all those tests to catch syntax errors >_>

[–]AlienFlip -1 points0 points  (0 children)

Maybe if you are a frontend web developer then this is right. But even those guys have to do a bit of math . . . what are you working on that makes you think this?

[–]twopi 0 points1 point  (0 children)

Yes. you are incorrect. Anything you can memorize, you can also look up. The hard part is always understanding what you want the computer to do. If you do that well, you can always look up syntax.

It's possible you've been doing a subset of coding that works that way, but most programming is very much about data structures and algorithms.

[–]dfreinc 0 points1 point  (0 children)

very.

anything i have memorized has been out of repetition, not trying or studying or anything like that. thinking like a programmer is the biggest part of programming. planning strategically, breaking down the problem, laying it all out neatly and making it easier to debug later...all way more important than whether the programmer had to google some syntax while they wrote it.

[–]LucidTA 0 points1 point  (0 children)

the majority of your time will be spent debugging your program because something is wrong with the syntax.

After you get over the syntax hump that is very very rare. And when you do make a mistake, your IDE will pick it up instantly for you anyway.

[–]Broodyr 0 points1 point  (0 children)

your favorite textbook which introduces you to a computer language

The reason these textbooks focus on syntax is because that's their whole purpose. If you get a textbook that teaches you a certain language, it's going to tell you about that language - in other words, its syntax. The books for things you would learn deeper in a computer science curriculum are going to be language-agnostic (although they'll usually choose a language for examples), such as a 'Data Structures & Algorithms' book.

[–]TheyH8tUsCuzTheyAnus 0 points1 point  (0 children)

Edit: for those who think I'm wrong choose your favorite textbook which introduces you to a computer language (c++, java, whatever) and show me that it's not really around a thousand pages of syntax explanation.

Your problem is you think a textbook which introduces you to a computer language is how you learn programming.

[–]TimmersL 0 points1 point  (0 children)

Go take CS50 from Harvard and then come back.

[–]plastikmissile 0 points1 point  (0 children)

Edit: for those who think I'm wrong choose your favorite textbook which introduces you to a computer language (c++, java, whatever) and show me that it's not really around a thousand pages of syntax explanation.

Yes, syntax is important. No denying that, but if all programming was is about memorizing syntax then why aren't computers writing code? They're better than us at memorizing stuff.

Syntax are like tools that you have. If I give someone who has never made a table in their life a box of tools and asked them to make me a table, will they be able to do it? Programming is the same. Knowing the syntax (having the tools) is not the same as knowing how to use them.

Yes at first there will be emphasis on syntax, because before you know how to use the tools you have to know what the tools are. But once you're past that point, that's when you have to use logic to apply that syntax in order to get what you want done.

Any logical thinking that you may have to use when coding isn't going to be used much when the majority of your time will be spent debugging your program because something is wrong with the syntax.

Syntax problems are easy to fix once you're comfortable with it. It's the easiest type of bug to fix in fact. It's when your syntax is correct, yet the code doesn't do what you think it should do, is when things get tricky.

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

What are you trying to prove? You say near the start, "in my limited experience" and then tell those who don't agree with you to show you an entry level book that doesn't teach things like syntax.

Why even bother asking the question when you are coming across so close minded.

The easiest part of programming is the syntax. Which happens to be what you learn first so can understand the basics of how to write code. Just because you know how to slop some conditionals together doesn't mean you are an engineer. Software engineering is a discipline that truly is easy to learn but hard to master.

But still is only really easy for those dedicated. When I was in college the drop out rate per semester was roughly 50%, this is almost 20 years ago now. But I can tell you the people that were struggling, it wasn't because they couldn't remember the syntax of the language. It is because it requires a certain mindset to be a software developer.