7 ms·
> Professors are shifting away from syntax and emphasizing higher-level skills As it should be.
by winterrx 2y ago
> Professors are shifting away from syntax and emphasizing higher-level skills
As it should be.
- ithgub 2y agoHow so? Programming IS syntax. If you want higher-level /skills/ you need foundational skills. If you want higher-level understanding, well that’s what pop sci is for.
- doctorpangloss 2y agoI’m not sure why you’re being downvoted. Among all CS students, when they are weak, the #1 problem I observe is a poor ability to “see” code down to the character. They literally do not notice mistakes. I’ve seen their ChatGPT histories, their questions are too vague. It’s two sides of the same coin.
- mrkeen 2y ago> Programming IS syntax. And writing a novel is spelling.
- samatman 2y agoThe correct analogy here is grammar, not spelling. Someone who hasn't mastered the written grammar of the language in which they wish to write a novel, is unlikely to produce anything someone else would want to read.
- VyseofArcadia 2y agoI would argue that spelling is a prerequisite for writing a novel.
- Jtsummers 2y agoPrerequisite, yes, but it is not the thing itself. Just because you can spell doesn't mean you can write a novel, or every Spelling Bee winner should become an award winning novelist. The meaning of the words, the structure of the novel, characterizations, etc. all matter as well, and are ultimately much more important than just spelling things correctly. Defining programming as just syntax is nonsense. The SHOUTED IS (like we're on AOL again for some reason) places outsized emphasis on syntax. Either that it is "just syntax" as randomdata wrote or the majority of programming as the SHOUTED IS could also imply, makes no sense. Just creating a syntactically valid program is insufficient for creating a correct or useful program, just as correctly spelling a string of words is not enough to create a novel.
- ithgub 2y agoHey, if we’re going with uncharitable readings I’ll give my own a go… I challenge you to write me “correct and useful program” without syntax. Be mindful, the natural language you use to communicate with llms also, brace yourself, has syntax. https://en.m.wikipedia.org/wiki/Syntax https://en.m.wikipedia.org/wiki/Syntax You ever gone a week without SyNtAx? https://m.youtube.com/watch?v=X9FJiDFVoOo https://m.youtube.com/watch?v=X9FJiDFVoOo > just as correctly spelling a string of words is not enough to create a novel. I present to you finnegans wake. ;P
- dataf3l 2y agoChallenge accepted “This program, print the numbers from 1 to 10 in python” In order to run my simple program just copy paste it into your LLM, of choice and execute it Notice that the program does what it supposed to do it is deterministic unless you use something like gpt2 and it solves the problem that I aim to solve We are in a New Age Dictated but not read
- skydhash 2y agoWhat I think he means is that when you program, you take terms that has specific meanings (in whatever abstract machine the compiler/interpreter embodies) and arrange them according to the rules in order to describe the steps of a solution so that the machine can solve it automatically. The syntax are not that actually important, you can compose new terms from basic terms and create a language that way. You abstract that way, expanding or reducing the vocabulary you have to work with, finding some specific relations between the term that facilitates describing (paradigms). Syntax is important because the machine only understand those specific terms arranged in those specific ways. It just that the set of problem it can solve is very large, the solutions more so, and your program is just only one element. Solving the problem is not programming, restricting it to what the machine can do is. And for that syntax is what you got, because that's what the machine accept.
- xboxnolifes 2y agoProgramming most definitely isn't syntax. When I visualize software solutions in my head, not a single bit of code is up there. Syntax is just a textual representation of concepts.
- deleted 2y ago[deleted]
- randomdata 2y ago> When I visualize software solutions in my head, not a single bit of code is up there. If you envision a mechanical solution without anything like a mill or lathe up there, do you consider yourself to be machining? > Syntax is just a textual representation of concepts. Mechanical parts are just the metal (or whatever material) representation of concepts. Does programming not refer to processes around taking those concepts and turning them into something 'tangible' of a certain variety? It seems to me that programming is, in fact, just syntax (within some loose interpretation). As you call attention to, syntax doesn't mean much in a vacuum, but the bigger picture that includes thinking about concepts usually gets the "engineering" moniker.
- ithgub 2y agoI can explain a bubble sort to anyone, but if they want to program one they’ll need a programming language. What distinguishes programming languages from: random text, spoken languages, or even other programming languages? Syntax. I hate that you define a function in python with: def func(): ; in clojure with: (defn func []; and Haskell with: func = ; just as much now as anyone starting to explore an interest in building with technology. I hate that to participate with the internet you need to know 3 programming languages: html, JavaScript, and css. (While completely ignoring the backend.) But it is that way because different people have different ideas of how to move these 0s and 1s around. Now perhaps one of these overly optimistic proselytizers of the llm teachers might say, “exactly, and we can use this tool to abstract that madness away.” Fine, but it’s something different than programming. I say that without any condescension of either party. What’s it matter if the desired goals are reached? I mean, except that these tools are a silicon fire created by stealing the worlds creative output, and owned by unethical sociopaths who are trying to sell it back to us. But when discussing education, this distinction is important to ensure programming is still taught in parallel to people who are only taught to use an llm. Have we reached the apex of programming? Do all we need is to just stochastically complete tokens of preexisting code? Or do we still have work to do in this field? Who’s going to do the programming if everyone in the discipline learned only how to avoid the programming?