Join 107,664 Programmers for FREE! Ask your question and get quick answers from experts. There are 1,074 online right now! We've got more than 500 tutorials and 2,000 snippets. Join and find out why Dream.In.Code is the #1 programming help community on the internet! Registration is fast and FREE... Join Now!
Does being a marginal programmer necessarily mean you'll be a marginal computer scientist?
Just completed my 2nd year at college, and I've had two semesters of Java; I am "okay" at it, but I am definitely NOT up to snuff. It's just hard for me, and I need a lot more practice I guess. But, I have already had an applied logic course that deals with logic for hardware and software, and I made an A in there.
I feel as though I'm destined for mediocrity because of my programming skillzzzz though.
tl;dr - I suck at Java. Can I still be a CS major?
This post has been edited by COMMUNISTCHINA: 10 May, 2008 - 08:31 PM
I know a bunch of CS people who suck at Java, but they are good at math and things like that. The question is why do you suck at Java. If it is because you don't get the whole algorithm thing, or math background to the problems you are working on, or you just have problems with OO or the developer tools.
Computer Math types, the ones who get all excited over theoretical best cases and Big O equations, aren't necessarily good programmers. They can be fine mathematicians, good theorists, and understand material without problem, they just lack the coding knack. It works the other way around, as well. ( I didn't enjoy calc and fought through it, I then tutored my math professor in BASIC programming. )
It' may be imperative languages in general that are the issue. The vast majority of programming is procedural, OO still being procedure with an extra abstraction layer. You might want to look into declarative languages; they often make more sense to some folks. Erlang seems to be gaining popularity. Lisp is still has a fan base. Even SQL or XSLT are programming in a different direction. Chances are, there is a programming paradigm that will click with how you think.
I'm ofter surprised how many programmers can produce pages of good OO code and totally fail to grasp a basic SQL statement.
I was Computer Science for a year at my school. I enjoyed the C++ programmin upto my Data Structures class (teacher was horrid). I changed my major to Information Systems because i can still program (VB, PHP,COBOL,JavaScript,SQL Databases, PERL, etc) But i dont have to worry about the physics and electrical engineering aspects of being a CS major here. I enjoy the math and theory, i just dont enjoy the "You should already know this" of the engineering. All preference my friend, all preference. Do what you enjoy and you'll be happy whether you're a marginal programmer or the worlds best programmer.
Computer Science is such a broad field, don't be discouraged if one particular language causes some problems for now. There are many many others, I know lots of people who don't like Java.
So what sort of jobs are available with languages like Lisp and ACL2?
with Lisp being one of the oldest programming languages around, I wonder why do I have to take the subject during my next semester. I would also like to ask the same question to those who have worked in this field for a long time.
This post has been edited by red_4900: 16 Jul, 2008 - 09:19 AM
I seem to see LISP being fairly recurrent in other programming languages of today. I believe it does have some valuable things to teach as far as the basic construction of code, but as for teaching specifically LISP in a class, that may be a bit overboard for a relatively commercially unused language.
I'm not too sure actually, but they're gonna teach Lisp under the Natural Language Processing class. I'm wondering if the engineering industry still uses Lisp?
ps : I have no idea what Natural Language Processing is. even the name is translated directly from Japanese (自然言語処理)