Am I a bad computer science student by not being good with Systems programming?
-
I am a computer science student pursuing a graduate program at a reputed university in the States. I completed my undergraduate degree in Electronics and Communication Engineering. I took a liking to Software Engineering, as a result of working at a start-up following which I decided to pursue a masters in Computer Science. But I realize now, that I cannot code in C for nuts, and kernel level programming seems terrorizing. Am I deeply under-equipped for this degree, or can I manage to follow my passion to build quality software by working with Java,Python and C++, without worrying too much about C?
-
Answer:
You are not a bad computer science student, just an under equipped one. If you look at the timeline of Computer Science development, we see the following events occurred in the same chronological order. Development of Turing machine Development of the microprocessor Development of higher level languages starting with assembly, C , etc Alan Turing did not know C or anything about hyper threading, but he still is one of the most respected people in Computer Science. The computer is far more complex than what it was back in the day when they used devices like punch cards. In today's age and time, understanding systems and C would help you understanding and debug some very tricky problems of user space. It also helps you anticipate more error conditions as in systems, small pieces of running code have twice or thrice the amount of code for error checking. The code you write in Javascript/Python as a result will also be more robust and be able to deal with numerous error conditions cleanly. Today we have reached a level of abstraction where we can write code without understanding C or systems level stuff. A minimal understanding of how C and Systems work won't hurt. It will make clear why we do a lot of things and would help us debug better. Understanding basic memory allocation will make you realize the importance of garbage collection in Python. To sum up, the computing system has become far more complex than it was in the 1950's. We need to be acquainted with the WHY of things to be a better computer programmer. Understanding systems to takes you the lowest level of WHY in the software space.
Tushar Dadlani at Quora Visit the source
Other answers
Everyone has their own niche. Knowing how to program in C and how to modify the Linux kernel is nice, but this knowledge doesn't really help you if you're doing back-end web development. Understand your own strengths and weaknesses and tailor your job to emphasize your strengths. Obviously, someone at your company must deal with the low-level details, but it will not be you!
Dan Zhang
Related Q & A:
- Should I major in Computer Science or Computer Engineering?Best solution by Ask.Metafilter.Com
- What can I do to get a good job with my Bachelors of Science in Computer Science?Best solution by collegexpress.com
- Should I major in Computer Science or Writing?Best solution by quora.com
- Is a Computer Science major good for what I want to do?Best solution by collegexpress.com
- Can I major in computer science/engineering?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.