Archive for the 'computers' Category


cheers & jeers

Thursday, December 20th, 2007

cheers

So I found out a couple evenings ago that I got the internship with Google. I would start sometime in mid-May and finish up sometime in mid-August. It would be good fun though it is mildly disappointing that my friend (Danny) that works for Google wouldn’t be there during the time I’d be there. He’s finishing up his last semester of college andwill be arriving there about the time that I would leave.

I’m excited and anxious all at the same time, dealing with getting myself a place to sleep will be interesting. Maybe I can just sleep under my desk and shower at the office? ;)

jeers

I was less than pleased with my grades this semester. I ended up with a B+ in both Algorithms & Software Eng. This could change though for Algorithms as I emailed the professor and he said we could speak about possibly getting me an A- which would be great.

Software Engineering on the other hand, I apparently bombed the final. That puzzles me but I’m going to meet with the professor. Surely I didn’t do that poorly? I’m not a bad student…

notes

Anyway, back to programming on wine :)

The four programming language groups everyone should learn a language well from…

Friday, September 7th, 2007

I saw a reddit question today that was something along the lines of “I’d like to learn 16 languages in a year, which ones should I learn?” This of course sounds ludicrous to me and I definitely advocate against that. I think a better goal for working in a year (and this is stretching it) is to learn a language from the four major language groups (in my opinion) well. This is by no means an authoritative list of languages, but rather a list of languages that just by learning them can teach you things that other languages wouldn’t and thus make you a better programmer.

Lisp - It seems that many ideas and features people look for, Lisp already has, so take some time to learn them here, it’ll definitely make you a better programmer.

Haskell - Everything is a function, and thus you have no side effects. This will teach you to right better code in that you will end up trying to reduce side effects in your Java/C++/Python etc. code.

Erlang/Smalltalk - The beauty of message passing comes out in both these languages, Erlang more in a truly distributed manner. I personally am learning Erlang and love it.

C/Assembly - Working in lower level languages like these two will teach a you a lot about thinking about how you write something will effect different architectures. I know C and haven’t had a chance to really play with Assembly yet.

I’m half way through that list, that is I’ve learned C & Erlang pretty well, next is Lisp. I think those are some of the best you learn. Learn a few things well, the others will come, languages are merely syntax, its the idioms, paradigms and skills that will make you a better programmer, not the language.

Erm… why am I taking this course again…?

Friday, August 24th, 2007

Ah yes, its that time again, time to go back to classes and take courses and all those fun things. The best part though is taking classes you shouldn’t be taking the course because you already know the information because most of it is common sense for those headed into your field.

Thats me this semester. I’m taking CSC314, Computer Architecture & Organization. On this glorious first day of class we discussed the components needed to build a basic computer… why are we talking about this again?

Most kids will never use this information in their Computer Science careers, let alone most of them won’t become very good computer scientists. Their programming skills are marginal at best and their knowledge of how different operating systems, programming languages, and so on differ and work is lacking at best, if not abysmal.

Now I’m not a crazy-super-awesome-mega programmer, but I know my way around a computer and I’ve done my share of programming in the last 7 or 8 years. I’ve spent hours working in different languages and worked two different jobs in programming. Its really sad when these kids aren’t even aware that an operating system besides Windows & Mac OS X exist, let alone that Mac’s use a different OS than PC’s do (for consumers).

I feel like this call to have more computer scientists is going to need to be pushed harder in high school. The worthless (at best) knowledge that most kids bring to college with them is not enough (in my opinion) to start out in Computer Science. There should be more high school curriculum and so on and on and on…
.

Anyway, lets get back to learning about things I already know!