I'm a computer scientist and work in academia. Programming stuff usually takes like ~10% of my time, while the rest is theory and more like social sciences, i.e. studying human behaviour when working with machines etc. So even if I were to replace all my actual programming with vibe coding, I still would be a computer scientist because to me, coding is just a tool to achieve a bigger purpose. I think you are more referring to the job of a software dev, which can be someone that studied CS, but not necessarily.
Most programming already didn't use computer science.
Yeah, I never needed an AI to write poor, inefficient, and ineffective code. I've always had a tremendous personal capacity for that. Why should I give a company money to do something that I'm already good at?
lol, I feel you, but what I'm trying to say is you often don't need to know concepts like P vs. NP for work other than an extreme baseline "is this gonna take forever if I throw more data at it?" I am not saying it's not useful, just that for lots of work it's not always super useful to know. Computer science as a field of study is much more mathy than a lot of fields of dev work. Then again, you've got other fields where it's more important. Like I'm sure folks doing 3d graphics need to know a lot more trigonometry than I do as a backend engineer.
Surprisingly little trig, from my experience with opengl, direct3d, and vulkan. Much of the interfaces abstract that away. It helps you to understand what's going on if you do know it, but you can go in without and be able to do fine. Most of what you interact with is angle calculations.
Because: for $20 per month to the AI company, you can output poor code much much faster.
So you dont use programming languages? learning how to use them was like all of computer science's actual classes? Lets just start with the first class, you dont use classes, vectors, arrays, forloops, while, if else, etc? cout?
I dont understand what that means, the degree itself literally covers the fundamnetals, ehats realprogramming? (I dropped and graduated with it years ago)
Computer science is much more than programming. Did you cover other topics like formal logic, finite state machines, computability, crytography, machine learning etc?
Sure they teach that, but its not the first thing you're thought the first two main classes for into are programming?
Why are you arguing with me and the dude that said programming didnt use computer science when computer science encompasses programming...
It's like the relationship between mathematics and accounting. Sure, almost everything accountants do involve math in some way, but it's relatively simple math that is a tiny subset of what all of mathematics is about, and the actual study of math doesn't really touch on the principles of accounting.
Computer science is a theoretical discipline that can be studied without computers. It's about complexity theory and algorithms and data structures and the mathematical/logical foundations of computing. Actual practical programming work doesn't really touch on that, although many people are aware of those concepts and might keep them in the back of their mind while coding.
When I think about computer science as a field of science I think about things like algorithmic complexity. I believe things like what you mentioned should be taught in general education prior to university (or, like calculus, as an optional elective) and are only covered because you need to know those basics to cover the advanced things.
It's really difficult to come up with other examples of this that aren't contrived because computer programming is the only field I know of that's like this. I might compare it to architects needing to know how to use tools, but I don't think they actually cover that. Maybe a better example might be engineers needing to know how to use tools before designing machines. Either way, things like how to use tools aren't covered in those classes and they're either not taught or taught as shop classes (or maybe they are, I didn't go into those fields). Things like for loops I view as learning how to make a computer operate. Like how someone who drives a car doesn't need to know how to fix an engine but a mechanic does. But learning about computer science is more like learning about what car designers do than what mechanics do. A lot of programming work doesn't need that low level of attention to detail.
Like I said before, it doesn't hurt, but it's not super critical. A classic example is something like learning how to make a linked list. This is an early example of an assignment that starts to get into the actual computer science stuff because you start to talk about the comparisons between different data structures, like linked lists versus array lists. So in university you may be thinking "damn I'm gonna be making list implementations all the time" but you quickly learn, no, you're not. The standard library of your language already has one and it's worlds better than anything you made. Plus, 99% of the time you're gonna want an array list, at least in the types of work I do.
I hope that helps make it more clear what I'm trying to say. I'm not saying computer programming is easy or doesn't require skills.
Computer science has always been separate from software engineering.
In my mind:
- Computer science: Theoretical. Deals with algorithms, complexity and such.
- Software engineering: Practical. Deals with whatever PM has written in Jira tickets.
Both are important in their own right.
I wish I could've gotten a software engineering degree
Computer science is basically the study of software engineering, because computer engineering means hardware, which has grown into a separate discipline that computer science only touches on
Programming is writing code for the ticket, architecture is designing the system that gets written into tickets, and software development is the whole process
But all these disciplines grew faster than language, so really the titles are whatever you want them to be
Computer science is basically the study of software engineering
That's not at all true if you ask me. Computer science is the study of data and computation, on a theoretical level. Software engineering is not theoretical at all, but very practical.
Computer arts?
People always talk about it in relation to programmers, but what about us non-programmers that have been able to code things only becuase of chatgpt?
I have some python, sysadmin, and computer security knowledge. I actually obtained the security+ cert a few years ago.
I do not work in tech anymore, and chatgpt has helped me so much, by basically coding stuff for me to do random work tasks that I was either unqualified to do or didn;t have the time to do.
AI coding is actually a very powerful tool, almost like a light saber. Do you notice how many amputations and artificial limbs there are in that galaxy far far away?
That’s pretty funny.
I'm working on a physics project, and my simulator suits my purposes and produces reliable results. And I learned a teeny bit about coding building it.
It’s a neat tool, but be careful what you do with it. I wouldn’t make anything web-connected or otherwise requiring security considerations, for example.
I think LLM is fine for shorter scripts. As a professional programmer, it has helped me with writing simple throwaway scripts. Those circumstances are rare.
My stance is that if you think LLM help you get your job done, then use LLM. It’s just another tool to your arsenal.
I don’t trust using LLM for large long running software projects though.
I have been building various things with AI coding tools for a month or so now. I rate the various engines on how far I can take them before they get hopelessly lost, unable to correct their own errors. For the best tools this seems to come after about 50 to 70 iterations of asking for small feature additions or error corrections, weaker tools (like Copilot) hit these infinite loops of fixing their errors with other errors much faster.
It's a good limit, because after 2-3 hours of AI interactive development, I can then spend 4-6 hours going through the resulting code - cleaning it up and understanding how it works. I suspect if AI were taking me farther, like 100-150 iterations, it would probably take me more like 15-20 hours to unravel the various things it comes up with - kind of a point of diminishing returns.
Bottom line: think of your project in terms of microservices. AI is pretty good at microservices. As long as the individual services are each robust in their delivery of the required functions, you're in good shape.
If it ever becomes "mystery meat," it's time to recode by hand.
It's an interesting tool.
It can shave hours off of experienced programmers work if they use it in the right scenarios. You can use it in places where you need to do something that's mundane but fiddly. It's suboptimal for crapping out a large project, But it's super effective at generating a single function or module to do a task. It might even come up with a better idea than you would use for some things. The key is if it does something that's not quite right or not the best idea You need to be able to read it to understand that it's going a little off the rails.
If you're a spreadsheet junkie, It's capable of writing really really complicated rules without getting lost in the minutia.
For non-developers that don't know anything it's a dicer proposition. After a couple thousand lines of code You might start running into interesting problems. When it starts having to go and do problem solving mode, and you're just feeding it back The errors and asking it to fix the problem You can get bogged down pretty quickly.
For DevOps it's the diggity bomb. Practically everything in that profession is either a one-off quick emergency script or a well thought out plan of templates.
Here are my five Amazon accounts give me a shell script that goes into every account in every availability zone, enumerate every security group and give me a tool to add remove or replace a given IP with a description and port based on the existence of other IPs descriptions or ports. Or write me an ansible script to install zabix monitoring playbooks with these templates.
You need to be able to read it to understand that it’s going a little off the rails.
At least 2/3 of the time I spend with AI coding is getting it to compile without errors - that's more than a little off the rails, but it's also much more helpful when you finally do get to a working example that you can look at, instead of beating your own head against the Stack Exchange archives hoping for inspiration, let it try for you.
That's perfectly fine though. And I say that as a professional dev. The problem is when people assume you can actually build an entire software/service architecture of any complexity just through vibe coding.
Currently LLMs are great for helping me pick out the curtains or even to help me assemble some furniture, but I would NEVER let them build the entire house, if that makes sense.
Pfft. Computer Science ain't about coding
Meh, I actually know how to code without the help of AI and my knowledge in computer science is minimal. A lot of people assume you need to be good at math and whatnot to be a software developer but in reality it's like the difference between being a construction worker and having an engineering degree.
Edit: I'm a senior software engineer for a big tech company. Y'all down voting me are either over-inflating what software engineers do on a day-to-day or undervaluing what construction workers do.
Computer vibing
Funny. I dislike vibe coding because it takes away the “art”.
Implicit in these remarks is the notion that there is something undesirable about an area of human activity that is classified as an "art"; it has to be a Science before it has any real stature. On the other hand, I have been working for more than 12 years on a series of books called "The Art of Computer Programming."
it can be both artless and scienceless
Code AI is to programming as a microwave is to cooking
Computer vibence
People who use AI frequently are the ones who don't understand the fundamentals.
I kind of see the relationship between computer science and programming as parallel to the relationship between linguistics and speaking foreign languages. You don’t need to learn linguistics to speak another language—so AI translation isn’t taking the linguistics out of translating because it wasn’t a necessary element to begin with.
Why stop there? Ouija coding takes the "science" and the "computer" out of computer science.
Showerthoughts
A "Showerthought" is a simple term used to describe the thoughts that pop into your head while you're doing everyday things like taking a shower, driving, or just daydreaming. The most popular seem to be lighthearted clever little truths, hidden in daily life.
Here are some examples to inspire your own showerthoughts:
- Both “200” and “160” are 2 minutes in microwave math
- When you’re a kid, you don’t realize you’re also watching your mom and dad grow up.
- More dreams have been destroyed by alarm clocks than anything else
Rules
- All posts must be showerthoughts
- The entire showerthought must be in the title
- No politics
- If your topic is in a grey area, please phrase it to emphasize the fascinating aspects, not the dramatic aspects. You can do this by avoiding overly politicized terms such as "capitalism" and "communism". If you must make comparisons, you can say something is different without saying something is better/worse.
- A good place for politics is c/politicaldiscussion
- Posts must be original/unique
- Adhere to Lemmy's Code of Conduct and the TOS
If you made it this far, showerthoughts is accepting new mods. This community is generally tame so its not a lot of work, but having a few more mods would help reports get addressed a little sooner.
Whats it like to be a mod? Reports just show up as messages in your Lemmy inbox, and if a different mod has already addressed the report, the message goes away and you never worry about it.