• Welcome to the Cricket Web forums, one of the biggest forums in the world dedicated to cricket.

    You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join the Cricket Web community today!

    If you have any problems with the registration process or your account login, please contact us.

Computer scientist vs computer programmer

Kirkut

Well-known member
Okay, a nerdy thread now.

I was going through what is taught in AI, and it appears to be full of hardcore math with barely any emphasis on programming.

To which I conclude that computer scientists are basically mathematicians who develop sophisticated algorithms and not necessarily good at programming. It's like a dish recipe would be an algorithm and the cooking part is programming, the cook is the programmer here and the person who came up with a recipe is the scientist.

Apologies for boring you all.
 
Last edited:

Magrat Garlick

Global Moderator
i mean that's quite a fair comparison. as most computer scientists will tell you, it's all about the levels of abstraction you want to work at - and like mathematicians, they have a habit of providing existence proofs that aren't really all that useful.

ultimately a good bit of code is code that solves the problem you have right now with the tools you have. although if someone asks you to drastically expand the scope of your problem (for example, because a venture capitalist wants you to sell to a million users instead of its current 100 so that he can cash out his 100% ROI) you might have to ask the computer scientists for ideas about how to do so.
 

Kirkut

Well-known member
Isn't quantum tunneling applicable in the case of AI?
That is beyond my understanding mate..

i mean that's quite a fair comparison. as most computer scientists will tell you, it's all about the levels of abstraction you want to work at - and like mathematicians, they have a habit of providing existence proofs that aren't really all that useful.

ultimately a good bit of code is code that solves the problem you have right now with the tools you have. although if someone asks you to drastically expand the scope of your problem (for example, because a venture capitalist wants you to sell to a million users instead of its current 100 so that he can cash out his 100% ROI) you might have to ask the computer scientists for ideas about how to do so.
I feel that computer programming in itself is a different field compared to computer science. A genius programmer may not be good at coming up with algorithms as much as applying them.
 

Spark

Global Moderator
Computer science is often at a much deeper and more abstract level than just designing algorithms as far as I can tell.
 

RossTaylorsBox

Well-known member
I was going through what is taught in AI, and it appears to be full of hardcore math with barely any emphasis on programming.
Most people I know who do "AI" research aren't hardcore mathematicians or computer scientists. Also be extremely skeptical when someone says they're learning AI.
 
Last edited:

DriveClub

Well-known member
Yeah there is no actual AI yet, most of the machine/deep learning stuff is complicated ways of pattern recognition. Reinforcement learning is closer to that where it uses game theory to create a feedback loop of cause and effect but thats no where near good enough. Actual AI would be another 20-30 years away.
 

Kirkut

Well-known member
Computer science is often at a much deeper and more abstract level than just designing algorithms as far as I can tell.
It is applied mathematics. I used to confuse computer science with coding skills, I knew a batchmate from undergrad who would get horrible grades but was a coding pro.

Most people I know who do "AI" research aren't hardcore mathematicians or computer scientists. Also be extremely skeptical when someone says they're learning AI.
I went through deep learning videos from Stanford University and I was expecting some hardcore c++ or assembly language codes, but all I saw was math. AI research does involve lots of linguistics as well I believe.
 
Last edited:

RossTaylorsBox

Well-known member
I went through deep learning videos from Stanford University and I was expecting some hardcore c++ or assembly language codes, but all I saw was math. AI research does involve lots of linguistics as well I believe.
Deep learning stuff is just mathematics but you don't need to know any details about it to use it. Alternatively, for a lot of things you can just use logistic regression or something instead where the maths is much easier to understand. But again, you don't need to code any of the algorithms yourself.
 

StephenZA

Well-known member
Computing Science is fundamentally mathematics; it literally grew out of a branch of mathematics. Programmers are like linguists who have been taught certain code and how to solve problems calling different functions. Of course you have different levels and qualities of programmers but your best programmers are also computing scientists. And people who think that computing science is just abstract mathematics that has no relevance don't actually understand the fundamentals of computer programming. The better a computing scientist you are the better a programmer you will be.
 

RossTaylorsBox

Well-known member
Computing Science is fundamentally mathematics; it literally grew out of a branch of mathematics. Programmers are like linguists who have been taught certain code and how to solve problems calling different functions. Of course you have different levels and qualities of programmers but your best programmers are also computing scientists. And people who think that computing science is just abstract mathematics that has no relevance don't actually understand the fundamentals of computer programming. The better a computing scientist you are the better a programmer you will be.
Nah, this is totally dependent on what your task is.
 

Kirkut

Well-known member
Computing Science is fundamentally mathematics; it literally grew out of a branch of mathematics. Programmers are like linguists who have been taught certain code and how to solve problems calling different functions. Of course you have different levels and qualities of programmers but your best programmers are also computing scientists. And people who think that computing science is just abstract mathematics that has no relevance don't actually understand the fundamentals of computer programming. The better a computing scientist you are the better a programmer you will be.
I think that computer scientists are more concerned about their algorithms or other abstract ideas put to test in the real world instead of bothering with syntax of the programming language. While programming pros would write efficient codes based on the algorithms they get and test them. I guess both scientists and programmers work as a team in a product development company.
 

StephenZA

Well-known member
Nah, this is totally dependent on what your task is.
Not about task it is about ability. Talking about is level of skill and knowledge. Most programmers don't try reinvent or improve they replicate what they have been taught to accomplish a task. And that is fine for most programming requirements. Does not change the fact that somebody with a better understanding can accomplish the same programming task in a better manner because he understands the fundamentals better.
 

StephenZA

Well-known member
I think that computer scientists are more concerned about their algorithms or other abstract ideas put to test in the real world instead of bothering with syntax of the programming language. While programming pros would write efficient codes based on the algorithms they get and test them. I guess both scientists and programmers work as a team in a product development company.
One of my best friends was a computing science lecturer spent 15 years as an academic. Moved to Melbourne 2 years ago now, went through numerous interviews for industry jobs and was told that his lack of experience in industry created issues. Which showed the ignorance of the interviewers more than anything.

Eventually got a good job, was leading the coding team within 3 months. Added to senior management 6 months later after he was head hunted for the first time. I asked him how much more difficult it was in industry for him, he said he had never felt more relaxed, had less pressure or used less of his mind to actually accomplish a job before. He then told me how he was called into a meeting by upper management to basically ask him to dumb down some of what he had implemented, even though it was more efficient, but because if they lost him they would struggle to replace his knowledge and skill and nobody would know what the hell was going on.

So yes somebody with less computing science knowledge could have done his job, but his understanding of the fundamentals made him a far better programmer and coder. Programmers seem to think that computing scientists don't know how to write code. How do you think most computing scientists do their job academic or otherwise? They have to write code never written before to try test out their algorithms, they are writing code.
 

Kirkut

Well-known member
One of my best friends was a computing science lecturer spent 15 years as an academic. Moved to Melbourne 2 years ago now, went through numerous interviews for industry jobs and was told that his lack of experience in industry created issues. Which showed the ignorance of the interviewers more than anything.

Eventually got a good job, was leading the coding team within 3 months. Added to senior management 6 months later after he was head hunted for the first time. I asked him how much more difficult it was in industry for him, he said he had never felt more relaxed, had less pressure or used less of his mind to actually accomplish a job before. He then told me how he was called into a meeting by upper management to basically ask him to dumb down some of what he had implemented, even though it was more efficient, but because if they lost him they would struggle to replace his knowledge and skill and nobody would know what the hell was going on.

So yes somebody with less computing science knowledge could have done his job, but his understanding of the fundamentals made him a far better programmer and coder. Programmers seem to think that computing scientists don't know how to write code. How do you think most computing scientists do their job academic or otherwise? They have to write code never written before to try test out their algorithms, they are writing code.
That's what teaching/research assistants are for :p
 

vcs

Well-known member
I don't think there's a simple answer to this question, computer programmers have to be adept at Maths (linear algebra, probability, discrete mathematics, and possibly more depending on the domain) and computer scientists will rarely be able to manage without a working knowledge of at least one programming language. But yes, scientists will probably spend more time with a notebook or a whiteboard while programmers will spend more time on a keyboard, in general.
 

RossTaylorsBox

Well-known member
Not about task it is about ability. Talking about is level of skill and knowledge. Most programmers don't try reinvent or improve they replicate what they have been taught to accomplish a task. And that is fine for most programming requirements. Does not change the fact that somebody with a better understanding can accomplish the same programming task in a better manner because he understands the fundamentals better.
Most programming tasks are technically straightforward and there's little advantage in knowing how to write a slightly faster algorithm. The best programmers are able to write clean, reusable, well documented code which isn't something that can just be learned as theory and is much more important if you need to work with other programmers.

The story about your friend is actually a good example of why you need to be able to communicate properly through your code so people know. My guess is not that he was too smart for his team, it's that he couldn't properly communicate what he was doing or disseminate his knowledge (ironically this is a good tip for job security).
 
Top