Monday, May 26, 2008

Databases

Databases are an intricate part of many programs. It is essential for a programmer to learn about databases. Databases are used to store and manage large volumes of data. When it comes to business applications a database is a must.

Choosing a database software depends on your application. A simple data driven application such as an Address Book can be completed using Access. But when it comes to handling data with larger volume and complexity you will have to turn to an enterprise level database.

When it comes to enterprise level databases there are many database software that can be used. Following are a few of them.


Microsoft SQL Server





This is one of the databases that most of programmers use due to its ease of use. SQL Server has several versions to suit the need of the programmer. And there is also a Free SQL server 2005 Express Edition that can be downloaded from SQL Server official site.



Oracle



One of the most powerful database software that is available. And also one of the most expensive. And configuration can be a bit difficult unless you are an Oracle DBA. Oracle Enterprise Manager is not that user friendly either.

You can use a third party software to manage Oracle.






MySQL



This is the most affordable database for all users. It's free. MySQL is great to work with PHP to create web enabled applications and web sites.

There are also several third party tools to manage the database.

Wednesday, May 14, 2008

Programming Languages

To do programming there are few things that you need.

First of all you need a programming language.
(That is the wh
ole point. Isn't it?)
A compiler or an interpreter. This depends on the approach you take. Or in other words what programming language that you are going to use and for what purpose.

There is a wide selection of programming languages to go for. Following are some significant ones.


Microsoft Visual Studio 2005





This is a widely used IDE for programming. It supports an array of programming languages such as C#,VB,C++,J# and ASP.NET for web development. Notice that this is an IDE(Integrated Development Environment) so it is made to do programming faster and make the life easier for programmers.
It has drag and drop user interface design,
Easier database connectivity,
Easier API(Application Programming Interface) integration and
Easier management of source files.
One more thing that I like about VS 2005 is it's debugger that allows you to view a complete profile of an object while in the debug mode and the ability to view inside dataset objects while debugging the code.
VS 2005 is meant to be used with the .NET Framework. The .NET Framework consists of an assortment of libraries that can be directly used for coding. Using the .NET Framework save time and gives the ability to create programs with a little amount of code. But the downside is that in order to run programs using the .NET Framework you need to have it installed in the computer.
These features are great but keep in mind these are intended for easing up the programming work. To really learn you have to get down and do the coding by your self. Auto generated code means a little when you come to learning.


Java



Java is the preferred language for web developers and for cross platform development. Java do not compile the program to machine language right away. Instead it compile the source file into an intermediate file called Java Byte Code. This byte code is then executed using the JVM(Java Virtual Machine) or the JRE(Java Runtime Environment).

OK now, what is JVM and JRE?
These are used to interpret java byte code into machine code of the computer . It can be defined as a computer within a computer. All java programs run on top the virtual machine. Only the virtual machine can understand the java byte code. And here is the thing. When you want to run the program in a different platform you don't need to recompile the code. The java virtual machine of that platform will execute the java byte code without much problem. Notice that only the virtual machine is changed according to the platform and once compiled java code can run platform independently. JVM and JRE differs slightly. The JVM is the virtual machine that runs java byte code and the JRE consists of the JVM and some additional libraries for support.

When using java there are some IDEs that can be used.








PHP



This language is used for programming web applications. PHP is a scripting language and requires a web server with php module to execute the code. It is a very powerful and an easy to use language. And best of all it's free.

Thursday, May 8, 2008

Exploring and Expanding

Exploring for new stuff and expanding the realm of your knowledge is very important for a programmer as well as anyone else.

You have to be updated constantly and I think the best place for that is the Internet. It is an ocean of knowledge. The only problem is "Where to look for?".


Well the best place to start is a Search Engine. Type in your question and give it a search.

When you want to learn something try looking for Books and Video Tutorials. Video tutorials are one of the best ways to learn.

And look for Forum Posts.

When you keep searching you'll find easy ways, shortcuts to find what you need. Don't give up because the answer you wanted didn't appear in the first page of the search engine results. Most of the time the problem is that you haven't asked the right question. Keep on searching. Shuffle the words around a bit and do the search again.

When you are searching for technical things use technical details and wordings to do the search. When you are searching for errors use the error code instead of the error message. This can give better results.

And when you find something that is valuable in the Internet keep a bookmark. This is very important, otherwise you will have to do the search again when you want to find it at a later time.


Keep up the good work and keep surfing.

Wednesday, May 7, 2008

The Learning Curve

Everyone has to start somewhere. Don't they?
Well yeah...

The learning goes on and on when it comes to IT industry. The problem is that it keep growing and changing in an alarming rate. Some times faster than the speed that someone can catch up with it.

Well for an example, consider that there is a new software that you are dying to try out. But before having a go at it you have to learn how it works, what are the functionalities and what are the potentials. You may spend some quality time learning these and when you are done and finally ready to take the plunge, the software company rolls out a newer version of the software.

DARN!!!

It is the same story when it comes to Programming languages, APIs and even Games

So what on earth is there to do about this?

Well there are few things that can be done.

First of all don't go for the coolest high end features at the beginning. Instead learn the basics. Because whether it is a software or a language there are fundamentals, and fundamentals don't change frequently. So dig deep and find the foundation of the program. That is to say find the very basic things that you can do with it. I know those things are nothing compared to the full potential of the program. But remember learning the basics is the most important thing. After you master the basics you can easily move on to more advanced stuff.
For programming don't go for a heavily facilitated IDE at the beginning. IDEs are made to do work easily and efficiently. It is something like a wrapper around a programming language. When you are using an IDE you are interfacing with the IDE instead of the language. So the true nature of the programming language is overlooked.
So when you are learning a programming language learn the core functionalities of it. Compile and run using a command prompt for some time instead of using a one click compile and run method. It can be difficult at the beginning, but the final result will justify the effort you put into it.

After you get to know the basics the learning process will get easier. Now you will understand the behavior of the programming language or the software for that matter. Now you are on a solid foundation and you can start learning the rest. Try using an IDE to ease up your work load and keep learning.

The field of programming is always full of new and fascinating events. Search the web to gain more knowledge. Read books. Share your knowledge with others and most of all enjoy what you are doing.

Tuesday, May 6, 2008

Welcome

Hello there and WELCOME to my blog space.

I will be posting valuable things that I have learned during my work as a Programmer.
I'm working as one for nearly 2 years now, developing web based financial applications.

Pretty BORING, don't you think?
It was for me too at the beginning.

Actually it's not that boring. OK there is a ton of business logic to handle, which still after 2 years makes little sense to me. But nevertheless there is programming and that is something I understand. And it is fun to solve a problem or two in programming. It is like winning a war and trust me it is winning a war when you come across a nag in code.