Wednesday, March 26, 2008

The Best of Tech

I've been wondering who are the best technology companies creating the best long lasting stuff. I have no criteria I'm following. I'm just thinking out loud. I'm probably going to miss some obvious ones. Apple seems like the head of the pack with the iPod and iTunes, popularity of the iPhone, and the Mac computer. Google seems to be in the mix with its searching and sharing capabilities. Is Microsoft still in the mix? They have Windows and the X-Box. But have they brought out anything that has caught on since? Sony is still out there with the Playstation and all the electronics. Amazon changed online shopping. Ebay changed online selling. Are there any up and coming companies out there creating the next best thing?

Saturday, March 22, 2008

Static vs Dynamic Typing II

After receiving feedback and reading more about it, I'm coming to the conclusion that static vs dynamic typing has more to do with writing code, lines of code, and the benefits of run time checking vs compile time checking. Static and dynamic typing classify values and expressions into types differently. Java is statically typed and Ruby is dynamically typed. It seems like a program written in Java will contain more lines of code then the exact same program written in Ruby. This is because of the type checking. I'm not familiar with Ruby yet, but, supposedly you have the ability to write less code because all of the code dealing with the types of objects and casting will be removed. The run time check seems to give more flexibility when writing the program and dealing with types. Static typing, with compile time checking, allows program errors to be caught earlier and program execution to be more efficient. Dynamic typing, with run time checking, is more flexible although slower running and more prone to program errors.

Monday, March 17, 2008

Static vs Dynamic Typing

I thought I knew the differences between static and dynamic typing. I was wrong. I thought it was the way you declare the variables and functions in certain ways. Whether assigning types to values or expressions. Static typing refers to types declared in a program at compile-time. Dynamic typing refers to types declared in a program at run-time. There is more to it though. I'm still trying to understand what it all means. Some languages use static typing and others use dynamic typing. I think C uses static typing and Java uses dynamic typing. There are many differing views on the subject. Some think static typing is better for testing then unit testing. Others disagree. I'm still researching to get a better understanding of the difference.

Wednesday, March 12, 2008

Communicating With Others

Communicating with people is a very important skill to have. Getting someone to understand what you are saying seems simple. Having the right vocabulary and speaking the right language can make it easier. Whether talking about software engineering(SE) or stocks and options or currencies or anything else, having some idea of what you want to say helps. I guess a good start would be to know your audience. Are you talking to someone that is familiar with the subject. For those that don't get it, you could always break it down in layman's terms. For example, when speaking with a fellow SE, is it important to be able to discuss an idea or problem in technical terms using the correct vocabulary? Or is layman's term alright as long as you get your point across and you are understood?

I was talking to a friend telling him I recently graduated with a degree in ICS. I was trying to explain what I learned and what I can do but he just didn't get it. We figured it was because I was speaking a different language. It reminded of school when I tried discussing project ideas with professors. They didn't get it either. I need to work on being a more effective communicator.

Monday, March 10, 2008

Java Hacker

I'm a Java guy. Java is the language I learned the best during my ten year at the university. I also tried and wrote small one-time programs using C++, Coldfusion, Lisp, Python. I don't remember these very well anymore. My Java knowledge increased by working on big projects utilizing a lot of the language. I know what I was taught. I first learned how to write a program and get it running using an applet. Then I learned the MVC paradigm and how to get a program running using a web application. I hope you understand what I mean. There must be other more sophisticated ways to get an application running. How do I learn them? Are web frameworks still good? Is there a 2nd language I should become familiar with? My one goal is to be able to get an application up and running from scratch. All I have to do now is learn how to do this.

Saturday, March 8, 2008

A Whole New World

It has begun! My journey into the online world. I'm starting with reading blogs and blogging. I've been introduced to google reader. It's nice having all the blog posts brought to one place. I'm subscribed to programming and hacking blogs. I am hoping these will keep me aware of what is happening and what is new. And maybe become a better programmer. Some things I've read are new to me but I'm learning. It's nice to be apart of a community.

Friday, March 7, 2008

My New Blog

Today I started being awesome with blogging.