Go Back   Tactical Gamer > General Forums > General Discussion


General Discussion This forum is for any type of conversation that really isn't specialized enough to belong in any of the other forums.

Reply
 
Thread Tools
Old 01-04-2008, 04:00 PM   #16 (permalink)
 
El_Gringo_Grande's Avatar
 
Join Date: Jun 2005
Location: OKIE HOMY
Age: 39
Posts: 2,129
Re: Quick Question to the Tech Heads

Quote:
Originally Posted by ScratchMonkey View Post
Can you program a "toaster" (programmer speak for tiny appliances with embedded CPUs) in VB.net? Or does it only work with a full-blown NT-like OS? If you intend to get "close to the iron", writing kernels and device drivers and filesystems, you probably need to code in C and C++.

I'd also recommend that you learn an assembler, and learn how a CPU works at the register level. This lets you deal with the times when the compiler itself is buggy. (I've submitted a lot of bug reports in my time for compiler and library bugs, with detailed analysis. And a few reports about buggy hardware, too.)
All computers only understand on and off. That is it. Any language that doesn't use just two symbols in it is abstracted for humans sake. And I would say that any language that is at least moderatly popular will do the job as well as any other language for most programming tasks.

So you cannot program a toaster in c/c++ either. It is the compiler and the libraries you use that allow the programming of the toaster. If the compiler and libraries are in/understand gogolygook that is what you have to use. That goes for driver and kernel development as well. It has nothing to do with the language itself outside happenstance and convention.

Now there is a micro CLR being developed by Microsoft for that type of thing. Java also has one I believe. And as time goes on that type of development is going to become more and more rare.

Your point, of course, is that many device development environments use c. My point is that going from any language to any language is not a big problem for anybody with even a modest amount of skill.

Unless you are talking about going from something like OOP to functional type programming language. Then it might take a bit longer. And there are some languages that are just different, like Lisp, which really require a significant shift in perspective.

Learning an assembler is not really that important with regard to producing good design and code. Though it does add to ones understanding and that never hurts. I learned a bit in the C64 TRS80 CPM days. Interesting but rarely important when developing many modern applications.

In the Navy we had some really advanced computers, the kind you program with switches. Programming at it's best. You would configure the 8 bits and push a button to commit the command to memory. If you screwed up even one switch the application would crash and you would have to start over again. It makes assembly look easy.
__________________
Sen. John McCain (AZ) For President '08
---
I’m not racists, I have republican friends. Radio show host.
- "The essence of tyranny is the denial of complexity". -Jacob Burkhardt
- "A foolish consistency is the hobgoblin of little minds" - Emerson
- "People should not be afraid of it's government, government should be afraid of it's People." - Line from V for Vendetta
- If software were as unreliable as economic theory, there wouldn't be a plane made of anything other than paper that could get off the ground. Jim Fawcette
El_Gringo_Grande is online now   Reply With Quote
Old 01-07-2008, 05:34 PM   #17 (permalink)
 
Join Date: May 2003
Posts: 183
Re: Quick Question to the Tech Heads

It depends on what you expect to be doing once you graduate. Do you want to be a developer or more general IT 'stuff'. If your goal is to have your hands in the code, then don't bother with COBOL and I'd strongly advise you to avoid VB (especially as a beginning language). Take Java/C#, buckle down, study your ass off, read the text book, and above all write code. There is no other way. Also, if you want to spend your career programming, I'd also suggest an actual CS degree rather than CIS. I'm not saying it can't be done with a CIS degree, just that an actual CS degree will likely get you a much better (quality and pay-scale wise) job straight out of the gate (which IMO is the most important job in your career).

However, If you are more interested in other IT 'stuff' and all you expect to do is write quick and dirty little one-off apps and helper programs. (As horrified as I am to say this) VB might not be a bad option for you.

while it is true that you can make a killing in COBOL maintaining old financial systems and the like, the reality is that it's not a smart option for a young person considering a lifelong career. The reason COBOL programmers are paid a fortune is because:
a: no one programs COBOL anymore
b: there is not future in COBOL
c: the job of maintaining millions of lines of COBOL in a boring financial application that has been hacked on for so many decades that the code almost literally smells ummm... ripe, would be so masochistic that only the insane (or desperate) would willingly subject themselves to it.

I understand you not liking your prof's attitude, and I agree that it seems a bit gruff. But the fact of the matter is that programming 101 classes have been and (as far as I can see) will always be 'weed out classes'. If you can't hack it in there, you don't belong in that major. (note: my experience is from CS courses, so YMMV in CIS). Furthermore, I believe an attitude like that from a professor (however misguided) is actually helpful to someone considering a career in computers. The fact of the matter is, in the real world, when you don't understand something, there is often no one to ask. You have to figure it all out for yourself.


Good Luck.
Mudshark is offline   Reply With Quote
Sponsored links
Old 01-08-2008, 11:59 AM   #18 (permalink)
 
ScratchMonkey's Avatar
 
Join Date: Aug 2005
Location: San Pablo, California
Posts: 3,506
Re: Quick Question to the Tech Heads

Mudshark and Gringo make good points.

If you want to be a "real" programmer, you need to learn many languages. Try to learn a few that are very different, so that you can easily adapt to new ones (which will tend to fall into "families" of languages). When I was starting out, we did Algol and Lisp. Most other languages are similar to those two. But there are a few that are different, like Prolog and Haskel. I'd also recommend a few scripting languages, like PHP, Perl, and Python (the "P" of LAMP technology). And don't just learn to code in those languages. Learn how they're implemented. Understand the compiler/interpreter and the guts of the libraries.

The choices you're offered (C++/Java/VB/COBOL) are in fact too similar for a proper CS grounding. They're like the different Romance languages as they evolved from Latin. They don't give you insight into other languages. (It's like not knowing about German or Japanese and only studying Spanish and Italian.)

But if you're not really interested in programming itself but as a means to another end, you should learn languages that have targeted that end. But first you need to determine what end you're after.
ScratchMonkey is offline   Reply With Quote
Old 01-08-2008, 12:14 PM   #19 (permalink)

 
birdie_in_Texas's Avatar
 
Join Date: Jul 2005
Location: TEXAS..!
Age: 38
Posts: 1,676
Re: Quick Question to the Tech Heads

holy crap you guys are smart...and ScratchMonkey went to MIT..? "the" MIT..? sheesh..you guys are awesome!

hell..i am not even smart enough to be posting in "here"..!
birdie_in_Texas is online now   Reply With Quote
Old 01-08-2008, 12:50 PM   #20 (permalink)
 
ScratchMonkey's Avatar
 
Join Date: Aug 2005
Location: San Pablo, California
Posts: 3,506
Re: Quick Question to the Tech Heads

Although I went to MIT, much if not most of my knowledge came from the first job I got, where I mentored under a bunch of other MIT grads. (Alas, I ran out of money before I could graduate.) The company failed due to management issues (don't they all?) but the engineers were top-shelf and I continue to use what they taught me to this day.

I'd also suggest subscribing to a few industry journals. I work in automation, so I recommend Embedded Systems. 10 years ago I would have heartily recommended C++ Report, a great journal that delved deep into the complexity of the language and its libraries, as well as the burgeoning study of Design Patterns. Alas, it died with the collapse of the dotcom bubble. C/C++ Users is another good one, though a bit more targeted at new programmers.
__________________
Sig
ScratchMonkey is offline   Reply With Quote
Old 01-08-2008, 03:29 PM   #21 (permalink)
 
Acreo Aeneas's Avatar
 
Join Date: Nov 2006
Location: DePaul University (Chicago)
Age: 22
Posts: 3,470
Re: Quick Question to the Tech Heads

I'd say a C++/JAVA concentration as well as any database courses you can pick up. That'll give you some flexibility in case certain jobs don't work out or if you end up having to do more than you expect.
__________________
Acreo_Aeneas
Former 9th Member




"...I had my tonsels removed and my breasts enlarged, now I dont need to bother the wife if I want some big nipples in my face. Cha ching!" - Thesleeper01
Acreo Aeneas is offline   Reply With Quote
Sponsored links
Old 01-09-2008, 02:42 AM   #22 (permalink)
 
Tarenth's Avatar
 
Join Date: May 2006
Location: California
Posts: 2,087
Re: Quick Question to the Tech Heads

Is CIS very similar to CS? All I know is that CIS seems to be more business orientated in the classes they require while CS requires hard science and math.

When ever I ask someone the actual differences I get a lot of "Of course they are!" and some muttering that they will never explain.
__________________
My sanity is not in question...
It was a confirmed casualty some time ago.



|TG|Tarenth Battlefield 2142
Mirra World of Warcraft

Light, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to hide the bodies of the people I had to kill because they ticked me off.

Tarenth is offline   Reply With Quote
Old 01-09-2008, 02:13 PM   #23 (permalink)
 
Join Date: May 2003
Posts: 183
Re: Quick Question to the Tech Heads

Quote:
Originally Posted by Tarenth View Post
Is CIS very similar to CS? All I know is that CIS seems to be more business orientated in the classes they require while CS requires hard science and math.

When ever I ask someone the actual differences I get a lot of "Of course they are!" and some muttering that they will never explain.
I believe (and somebody please correct me if I am wrong) that a CIS major will focus more on practical application of CS concepts. Something more like trade school coursework. So (if you were in a software engineering centric school) you might have some of the general data structures, and discrete math type classes, but then you might take a class on design patterns and another on team management in lieu of something like lambda calculus or compiler design. I believe there would also be classes specific to current technologies such as Web Services or Database Design (possibly as electives).

These tend to be degrees focused on getting you a job upon graduation rather than the traditionally academic CS degrees.
Mudshark is offline   Reply With Quote
Old 01-09-2008, 04:27 PM   #24 (permalink)
 
ScratchMonkey's Avatar
 
Join Date: Aug 2005
Location: San Pablo, California
Posts: 3,506
Re: Quick Question to the Tech Heads

At MIT, the EECS department is department 6. Those going the EE route go "6.1" and those on the CS track (like me) were "6.3". Nobody at MIT uses acronyms to refer to course tracks, If you're a math major, you're a "course 3". The same applies to buildings. Few use building names, except for a few architectural oddities like the Longfellow (which is shaped like a wedge of cheese, and you enter through the point). I suppose it's surprising that professors are known by names and not numbers!
__________________
Sig
ScratchMonkey is offline   Reply With Quote
Old 01-09-2008, 04:32 PM   #25 (permalink)
 
El_Gringo_Grande's Avatar
 
Join Date: Jun 2005
Location: OKIE HOMY
Age: 39
Posts: 2,129
Re: Quick Question to the Tech Heads

CIS is geared more toward the practical application of knowledge. CS is more knowledge for knowledges sake.

Even if you go CIS take or sit in on a few of the more "academic" courses (like compilers) and see if you like that stuff. Some people really dig it. If you do then switch over to the CS degree. College is all about learning and changing your mind.

I guess the question to ask is what do you want to do after you get out of college? Work for a big company? A small consulting firm? Be your own boss? A small vendor that adds value to existing products? Embedded systems? Do you have any idea of what you want to do?
__________________
Sen. John McCain (AZ) For President '08
---
I’m not racists, I have republican friends. Radio show host.
- "The essence of tyranny is the denial of complexity". -Jacob Burkhardt
- "A foolish consistency is the hobgoblin of little minds" - Emerson
- "People should not be afraid of it's government, government should be afraid of it's People." - Line from V for Vendetta
- If software were as unreliable as economic theory, there wouldn't be a plane made of anything other than paper that could get off the ground. Jim Fawcette
El_Gringo_Grande is online now   Reply With Quote
Sponsored links
Old 01-09-2008, 05:23 PM   #26 (permalink)
 
ScratchMonkey's Avatar
 
Join Date: Aug 2005
Location: San Pablo, California
Posts: 3,506
Re: Quick Question to the Tech Heads

Learning how compilers work has practical applications. Like when one breaks. And they do. A lot.

I also find myself writing tools to create source for something. I may need to pre-process something into source code. Being able to write code that writes code can be useful.
__________________
Sig
ScratchMonkey is offline   Reply With Quote
Old 01-09-2008, 08:10 PM   #27 (permalink)
 
El_Gringo_Grande's Avatar
 
Join Date: Jun 2005
Location: OKIE HOMY
Age: 39
Posts: 2,129
Re: Quick Question to the Tech Heads

Quote:
Originally Posted by ScratchMonkey View Post
Learning how compilers work has practical applications. Like when one breaks. And they do. A lot.

I also find myself writing tools to create source for something. I may need to pre-process something into source code. Being able to write code that writes code can be useful.
That is why I asked the question of what is desired after college. If you work for a small-medium shop that uses a java or .net framework it is doubtful you would ever get to the level of the compiler. Even PHP, Python etc development of typical applications are going to be using standard features of the language that are not very likely to break. I don't allow the use of beta software. I prefer using the previous release just so I don't have to worry as much about odd things happening. It is my job to deliver reliable software to our customers as fast as possible. I am not going to allow another developer to track down a bug in the compiler. That isn't what we are paying them for. We had a guy like that. He spent more time mucking around in the source of the compiler than he did creating code that helped the business. We fired him.

Embedded systems development? Driver development? Probably much more likely. Something tells me those developers are a bit tighter knit due to the smaller and more specific nature of the work. It is working closer to the hardware meaning no abstraction layer to protect the developer. The compilers are going to be not as well tested because there are fewer people using them.

Code generation can be done many different ways. I wrote the code generator for our company. It just uses xpath, xml templates, xml metedata (generated from sql server schema data) and a bit of VB to glue it all together. Generates about 75-80% of the code we need. Kathleen Dollard has a pretty good book on the subject and I used many of her ideas.
__________________
Sen. John McCain (AZ) For President '08
---
I’m not racists, I have republican friends. Radio show host.
- "The essence of tyranny is the denial of complexity". -Jacob Burkhardt
- "A foolish consistency is the hobgoblin of little minds" - Emerson
- "People should not be afraid of it's government, government should be afraid of it's People." - Line from V for Vendetta
- If software were as unreliable as economic theory, there wouldn't be a plane made of anything other than paper that could get off the ground. Jim Fawcette
El_Gringo_Grande is online now   Reply With Quote
Old 01-09-2008, 09:00 PM   #28 (permalink)
 
Join Date: May 2003
Posts: 183
Re: Quick Question to the Tech Heads

Quote:
Originally Posted by ScratchMonkey View Post
Learning how compilers work has practical applications. Like when one breaks. And they do. A lot.

I also find myself writing tools to create source for something. I may need to pre-process something into source code. Being able to write code that writes code can be useful.
True, but like Gringo said, probably 99% of all programmers will never need to do something like that professionally. So, a school generating a curriculum for a new CIS degree isn't likely to bother with the expense and overhead of including one. Especially when they can offer something more jazzy sounding like Intro to WEB 2.0 or something.
Mudshark is offline   Reply With Quote
Old 01-10-2008, 12:17 AM   #29 (permalink)
 
Join Date: May 2003
Posts: 183
Re: Quick Question to the Tech Heads

BTW, I just noticed this on /. and thought of this thread. Hopefully there are some helpful posts in there somewhere...
Mudshark is offline   Reply With Quote
Old 01-10-2008, 12:47 AM   #30 (permalink)
 
Acreo Aeneas's Avatar
 
Join Date: Nov 2006
Location: DePaul University (Chicago)
Age: 22
Posts: 3,470
Re: Quick Question to the Tech Heads

I've asked professionals the same question the above Slashdot post asks and they always ask in return: "What do you want to do after college?". Long and short, there's not really a major that can grant you the skills / creds needed to land differing jobs in the tech industry. You really need to cater some of your electives towards a specific area (or subfield).
__________________
Acreo_Aeneas
Former 9th Member




"...I had my tonsels removed and my breasts enlarged, now I dont need to bother the wife if I want some big nipples in my face. Cha ching!" - Thesleeper01
Acreo Aeneas is offline   Reply With Quote
Sponsored links
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


All times are GMT -4. The time now is 05:21 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
©2004-2008 - Tactical Gamer - All Rights Reserved