[nfbcs] best computer for a CS student?

Aaron Cannon cannona at fireantproductions.com
Sun Feb 22 22:45:12 UTC 2015


Hi Jorge.

If I were in your position, I might consider a Mac Mini.  You aren't
paying for a screen you don't need (I'm assuming you don't use
magnification), and you can have both OSX, Windows, and even linux.

If you won't need OSX, then save yourself some money, and get a modern
PC that has the specs you want.  Compiling programs and running IDE's
is not generally all that CPU intensive, though extra memory never
hurts.

The other advice I would give you is that most CS programs suck at
turning people into programmers, so if that's what you want to become,
realize that you're going to have to do most of the work yourself.
They're ok at teaching you programming languages, but very lacking
when it comes to teaching you what you need to know to work as a
software developer.  Likewise, a college degree does not make a
developer, and in truth, it's not hard to find folks without degrees
doing well in this field.  I'm not saying you shouldn't go to school,
nor that anyone can make a living in the field without a degree, but
if I were you, I'd very carefully weigh the costs and benefits.

In order to be successful as a developer, in my opinion, you should be
able to teach yourself new programming languages.  That can be hard
the first time around, but does get much easier after each one.  While
HTML is a very important thing to know, it's not really a programming
language.  It's good to get used to teaching yourself new languages
now, as it is not improbable that the language you will end up using
on the job will not be one of the languages you were taught in school.
I don't use any of the languages I was taught in college, except
occasionally C.

Still, learning languages is the easy, but vital  part.

The other thing you should do is learn as many patterns as you can.
Patterns are, in brief, ways in which programs or parts of programs
are constructed.  The only way to do this is to get your hands dirty
pawing through someone elses code, and figure out how it works.  This
is assuming that the other person knows what they're doing.  The more
code you grock, the more you'll be able to make up your own mind on
which developers know what they're doing, and which don't.

Fortunately, many of the patterns that you'll learn are applicable to
many different languages, so don't worry too much about learning the
wrong ones.  Of course, you won't be able to do too much of this until
you learn a programming language, so that would be first.

You should be able to figure out what languages your school will be
teaching by a quick look in the catalog, or just by calling the CS
department and asking.  Then, I wouldn't wait to be taught, but
instead dive right in and start learning on your own.  You can learn a
lot more when you're working ahead of the class.

Otherwise, if you're looking for a recommendation for a first
programming language, I don't think you can go wrong with Python.
Alternatively, if you're really into web programming, JavaScript might
be a good option, provided you're prepared to accept that there are a
great many warts in the language.  If you do choose JS, I would learn
it in Node first, before you try to run it in the browser, as you
won't have to worry right away about the DOM, JQuery, and other
complicating factors.  Also be smart in who you learn from.  Perhaps
more so than any other language, a lot of people write and teach JS
very poorly.

Finally, I'll just say one more thing on the topic of degrees.  If you
think you need one (and it's true that it will make it somewhat easier
to get that first or second job, though how much easier, particularly
after you've got some experience is debatable), know that you don't
have to spend a lot of money.  There are a few (legitimately
accredited) colleges which will allow you to test out of nearly all of
your classes, for a fraction of the cost of taking them in the
traditional manner.  Again, this is not for everyone, but certainly a
great option if you are extremely self motivated, can study and learn
independently, and don't mind some hard work.

Anyway, these are just my somewhat controversial opinions, so treat
them like you would treat anything else written by some crack-pot on
the internet, and do your own research.

In the interest of full disclosure, I went to college and I have been
writing programs for nearly 20 years, but I didn't become a programmer
until I got my first job and started working with some very talented
software developers, who were kind enough to help a noob figure things
out.  As for the way I went to school, I did it the traditional way,
but I often wish I had done it differently, particularly when I pay
the student loan bills each month.

Whatever you decide, I wish you the best of luck.

Aaron

On 2/22/15, Jorge Paez via nfbcs <nfbcs at nfbnet.org> wrote:
> Hi all:
> My name is Jorge.
> I just graduated high school last year and had to take a year off
> because my family and I moved to Florida from New York City, so I was
> waiting for the residency rule to kick in college wise because the
> tuition is about half or more of what out-of-state students pay.
> At any rate, I've already got my acceptance letter to community
> college, and I'm going to be majoring in Programming and Analysis.
> My question is, what computer would be better for me in terms of school
> work?
> I don't know what language my classes are going to use, but since I'm
> also going to be doing a lot of work outside of class--I'm going to be
> a freelance programmer on the side--I already know HTML pretty well
> and I'm going to be learning other languages soon, what computer has
> the biggest number of accessible development environments for the most
> number of languages?
> I have experience using both Mac and Windows, using Voice Over, JAWS
> and System Access, so the screenreader isn't a problem for me.
>
> Thanks,
>
> Jorge
>
> _______________________________________________
> nfbcs mailing list
> nfbcs at nfbnet.org
> http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
> To unsubscribe, change your list options or get your account info for
> nfbcs:
> http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/cannona%40fireantproductions.com
>




More information about the NFBCS mailing list