March 31, 2005

What good is a BS:CS

So in a group that I am part of a standard gripe came up: "These college grads don't know squat."
This sort of thing has been covered many times before (even by me), but here was my response:

One thing that having a BS often does prove is that you are good at things other than CS. Like writing documentation, interacting with people, and understanding instructions.

One item that I feel is granted (probably by everyone here): college CS training stinks. It isn't for lack of trying, just more because of the scope of the subject. CS hasn't been around enough to really subdivide like Engineering has (Civil, Mechanical, Electrical, etc) beyond the generic Programmer and Administrator tracks.

But for the programmer tracks there is just a lot there to learn. How many languages do you use now? I use Delphi, C#, VB, SQL, VBScript, JavaScript, and MDX. But I also know how to read C++, Java, and many others. Then there is the .NET Framework, VCL, and Win32 -- and web development is entirely another animal. Any one of those is beyond the scope of a college course.

I remember reading one luminary on CS talking about how top notch schools are really just vocational schools for Java programming. Because coming out of college, Java is the only thing any of them really know. Actually, he was annoyed because none of them were coming out of college as top notch C++ developers (can that even be done in 4 years?).

Now look at what else has to be done to earn a degree. You have to take Math, English, Econ, Business, Philosophy, Psychology, Religion (at least at my college), Biology, Art, Chemistry, Music, etc. That is what you have to take OUTSIDE of CS. And the first year of college you will only take 2 CS classes -- TOLAL. That is just a "How to Program" course.

So, if you went straight into programming, without a degree: good for you. You got a 4 year head start on me, because I definitely did not come out of college at the same level you would have been at after 4 years. You would have spent 4 years doing nothing but programming. I spent 4 years meeting the requirements for a degree.

The degree isn't about coming out of college being an expert programmer. I dont think it is possible to go to college, become an expert programmer, and get a degree in 4 years. It is about being versatile and rounded. After that, becoming an expert programmer "should" be easy. But that has to do with aptitude...and that is a whole other topic.

March 28, 2005

Delphi to C#: oh my!

EEeeekkk!!! Someone actaully thought it would be a good idea to develop a tool to convert Delphi (.NET or Win32) to C#!

May the force be with you.

Netcoole Migration Services

March 27, 2005

Joy and fun with old software

So this weekend I spent some time working on my dad's brand new computer...again. His main dos based business application will not work on his new Dell computer.

Now, my father can neither be classified as a computer expert or newbie. At this point, novice works well. He has been working on computers since 1985, but only enough to run his business on the thing. What type of business: a dairy. 1000+ cows, all with their names and life histories tied up in this thing. And at this point, with out the computer, the dairy will run (cows will still get milked, fed, and watered), but most other activities stop. Like parole, bills, and medical treatments get a little more interesting.

That said, the last time my father upgraded his computer was 1996. Maybe 1997, but probably not. And, just to make life more fun, his dairy program (what he spends a considerable amount of time in) was last updated in 1995, and is still dos based. I'm almost positive the program was written in Turbo Pascal 5,6, or 7.

Amazingly, it runs like a champ on any x86 computer running at least Dos 5 or newer (including WinXP)...so long as the CPU isn't faster than, say, 266 MHz. After that, you get a rather famous "Run Time error 200". Which, near as the oracle of Google will tell me, affects Turbo Pascal 5,6, and 7 programs the world over.

Great. No now we are left with either buying a new or competing product to run, or hack the sucker and try to convince the existing app that the sky is not falling and 2 GHz is not a bad thing. Easier said than done. There are applications out there that will modify the existing binary to make it work -- but they don’t work for this app (I tried). There is a TSR that you can install that catches the error and tells the application to ignore it -- doesn't work (do TSR even work with Windows anyway?). I found all sorts of code patches for this. But I don’t have the code. I'm stuck!

As I said earlier, my father is a computer novice. He knows how his programs work, and he knows them very well. And this program is essentially a data entry program. If there is one thing I am certain of: DOS programs can excel at data entry, and most windows programs stink at it. And now I think my father is going to have to find out how badly windows data entry programs can stink -- and he will blame me for it.

As his only son actively involved in software development, and the one who convinced him to get a new computer in the first place, I will get blamed. Not always directly though. It usually starts as "Why does this work this way?", followed by "Well that isn't very good." And the frustration grows. Luckily I have a good relationship with my father and the frustration doesn't last very long. I'll switch the topic to fishing or grandkids and then everything is fine.

Now I'm left with a couple of thoughts from all of this.
1. why does data entry on a windows app have to be so much worse than DOS? Have we regressed? Who thought that using a TAB instead of ENTER would be a good idea? Mainly because now I have to hard-code ENTER to do what TAB does every time.

2. Why don’t we ship more code with products? Or script them more? I've been toying around with making a new application framework using .NET (because I don’t have one right now and I'm too cheep to buy one). It is completely possible to script large chunks of the application. Like a scriptable add-in architecture. Right now I'm thinking of a cross between Microsoft Office VBA and ASP.NET without code behind.

3. Next time, if a family member asks me what computer to buy: I'm suggesting a MAC.

March 25, 2005

T-Rex soft tissue found

Boy I hope this isn't a hoax. But apparently, palientologist in Montana have found soft tissue (still flexable) from a T-Rex thighbone. If this is true, it could be the biggest find of this century.

2 links below:

http://www.wired.com/news/technology/0,1282,67014,00.html?tw=rss.TOP

http://news.yahoo.com/news?tmpl=story&ncid=753&e=1&u=/ap/20050324/ap_on_sc/t_rex_tissues

March 21, 2005

Delphi 2005 update

OK, here is my first update on Delphi 2005....

The Good:
1. There is nearly a component for everything. This thing ships with a lot of the pieces that are missing from Visual Studio.Net.

2. So far all my old Delphi code still works! So far... :)

3. The amount of things that you can do with this thing is unreal. Between Delphi Win32, Delphi.NET, and C# I rule the windows world!

The Bad
1. Startup time is slow(er than Visual Studio 2003). Almost obnixious slow. I mean come on: do you have to load EVERYTHING into memory to load the app?

2. It has crashed on me once so far. For a new product (I consider it new anyway) that isn't bad. But when it crashed, it just disapleared. I lost my changes and it went away.

3. Adding files to the project is non-standard and/or non-intuitive. Or else I am idiot and missed the option. To add a unit to the project: First you select the project, then go to the Toolbox, then find the unit tab.
Why isn't there a File->Add File option...could be, but I can't find it.

Note: wonderful part about blogs, if it turns out that I am an idiot and I'm wrong -- I can update the blog and look smarter.

March 15, 2005

Source for a C# compiler written in pure C#.

So a guy at Microsoft wrote his own C# compiler in C# and is now giving it away.
You can read the details in the link below.

Source for a C# compiler written in pure C#.

Not that I would use such a thing in production...you can already get the real C# compiler for free from Microsoft in the .NET Framework SDK. But it would be interesting to read through the code and see how he did things.

March 07, 2005

Finally: Delphi 2005

OK, I finally got Delphi 2005 installed last night. First impressions: I have a lot of catching up to do.

The last version of Delphi that I actively developped with was Delphi 5. That means I missed versions 6,7, 8 and Delphi.NET, not to mention Kylix.

I have a LOT of catching up to do.

Delphi 2005 has built-in refactoring, you can develop in native Win32 or .NET, write web pages (ASP.NET or IntraWeb), it has 2 built in reporting engines, comes with the ComponentOne controls, and you can write C# code with it.

I have a lot of catching up to do.

One of the minor things I'm going to have to get used to is the new IDE. It now looks like Visual Studio.NET (with a few minor tweaks). It now has NUnit and DUnit integration (I will look into that), HTML, and CSS formatting support.

Good grief, this could take a while. Oh well, I'm up for it.