Posts Tagged ‘program computers’

Computer Programing

Basic Computer Programing

In this article, we are going to present computer programing and discover how it may be applied to command the way your computer operates. Generally, computer beginners aren’t concerned in controlling the computer, new computer users are commonly concerned in learning more about how it all works. Nevertheless they may be surprised to learn that computer programing increases computer knowledge as a whole and it can assist to decrease the fearfulness and intimidation associated with using a new computer.

Computer programing is creating a succession of commands that enable the computer to do some actions. The people who program computers (called Computer Programers) use a programing language to communicate with a computer. You might have heard of some of these languages in the past such as Visual Basic, C++, or Fortran. There are hundreds of other programing language and neither one is best than the other. Just about all of them are capable of executing the same tasks and accomplishing the same goals. A programer chooses one language by a simple preference.

Each of these languages differ by the way they communicate with a computer, the commands that they abide by are very specific. Not a single command of one language can be exchanged with the commands or language of another. But all of them can be used to control a computer.

At present it would be impossible to teach you how to program any language in a single article or lesson. But we can still introduce you to some of programing’s most basic concepts – starting with the commands. Commands are the instructions that a computer conforms to perform an action. To make them work inside of a program, programers assign commands to objects like buttons for example.

The commands in a program are pretty worthless unless they have some data to pursue so programers either give the programs some information to work with (list of names or numbers for example) or they make the program generate it’s own data. Occasionally, the data comes from an outside source like the Internet or the computer that the program resides. The data that a program receives is called input and data that the program generates is called output.

Other times, the data is unknown. If the program were working with a simple algebra equation like, “x + 5 = y,” the variables “x” and “y” would be unidentified pieces of data. Or if a program were to calculate a date “x” days from now, the variable “x” would be an unidentified piece of data until we tell the program what “x” is. In programming, it’s sometimes required to work with unidentified pieces of data.

That’s when conditions are convenient,conditions allow a program to execute an action based on the event of a previous command. Using this type of command, we could instruct a program to do one thing if the “x” variable in our latter example turned out to be 9 days, and then do different thing if the variable turned out to be 31 days.

Commands, data, variables, and conditions help build the most simple programs and there are certainly more components of any programming language. But when they’re typed into a programing language and compiled to create an executable file (a file ending with the .exe extension), they turn into a software application.

As we mentioned earlier, you can use a programing language to control your computer. By using simple commands, you can program your computer to perform mathematical tasks, fill out web forms, compose an email message and send it off, or any number of other things. If you’re interested, you may find Visual Basic one of the most easiest computer programing languages to learn. Visual Basic is an object-oriented programing language and it automatically codes much of a program the minute a programmer drags a button onto a screen.

Author: Cuono Riccio
Article Source: EzineArticles.com
Provided by: Electric Pressure Cooker

Learn Computer Programming – You Can Do It!

Almost anyone can learn to program. There are only a few requirements (like having access to a computer), and you don’t have to be a genius. (Well it helps if you are a genius, I suppose, but you don’t HAVE to be one).

This article addresses some of the motivations you might have for wanting to learn to program computers, looks at some things to consider, and discusses a few different ways to start learning now!

What is it you want to do?

There are a lot of reasons for wanting to learn computer programming, and what you want to do with it can help guide you in choosing your path in learning. Perhaps you are interested in programming as a career. In that case you will want to make sure you are learning things that will make you attractive to those who hire programmers. On the other hand, you might just be looking for a fascinating hobby, and in that case you can let be a bit more casual about what you learn and focus only on things that interest you.

Maybe you need to automate various applications you use at work. For example, perhaps you want to automate a word processor to do mailing labels or a spreadsheet to do customized financial forecasting, or maybe you want to write computer games, or have a cool web site, or… the reasons are endless, just as the things you can do with a computer are.

The languages you learn will be influenced by these things, as well as the approach you will want to take as you begin to learn to do computer programming.

What resources do you have available?

Time, money, people who can help guide you, computers, books, programming clubs, classes, programming forums… these are all resources that will be handy as you are learning to program.

If you have a lot of time and money, a computer, and access to learning opportunities like college classes and developer group meetings, you will probably be able to learn at a rapid pace. If you can only spend an hour or so each day, and you don’t have your own computer, and you can only buy one or two books, you will have to adjust your expectations a bit. However, either way, or somewhere in-between, you will be able to learn to program.

What is the level of your motivation?

This is a very important consideration. This isn’t going to be easy. You are going to need to keep going even when things seem impossible and you can’t find the answers you need. It takes a fair amount of brain power, will power, and the ability to work things out. You will be well served if you can muster a “stick-it-out” kind of attitude.

One of the attractions of computer programming is that there is a lot of problem solving, and you will have to solve a lot of them both while you are learning as well as when you are using your skills to do useful things. It takes a lot of interest and dedication to stick with it long enough to get somewhere – if this still sounds good to you, you will probably do okay.

So, how to get started?

There are a lot of ways to go about getting started. You can get started today, regardless of how you are going to approach this over the long run. Here are a few tips on getting started quickly:

* Learn in baby steps – Start with something very easy, and add to it. There is no advantage to jumping in with both feet unless you have unlimited time and resources.

* The quickest way to start might be to use a language that comes with software you already have. For example, you can do a great deal of programming in Microsoft Word using Visual Basic for Applications. There are numerous commercial software applications that include a way to enhance them using programming or scripting languages.

* Here is another idea for getting started quickly: There are simple languages available with almost every operating system (Windows, Linux, Mac) for automating your repetitive tasks. For example, in Windows you can use VBScript. Again – a simple internet search will get you lots of information.

* Pick a more full featured language that is available free – To get started with the least expense and as quickly as possible, one approach is to download a programming environment for free on the internet. For example, you can download the Ruby language and everything you need to work with it for free. Another example is the Microsoft .NET Express languages (VB.NET or C# are good choices) – again, you can download everything you need for free from Microsoft. A little internet search on either “Ruby Language” or “Microsoft .NET Express” will get you all the info you need.

* Use the internet – You already know this or you wouldn’t be reading this article, but the internet is full of resources to help you learn to program. That makes sense, since the internet has been created and programmed by programmers. A lot of programmers are willing to share their knowledge through free tutorials, forums, tips sites, and articles. You will find links to a lot of good resources just by doing a simple search. One thing is certain, there is no shortage of information.

* Work with what you have, or what you can easily get – To get started quickly, my advice is to do something right away and keep doing something every day. Soon you will be better able to judge what areas are most interesting to you and best fit your needs, as well as where to get the information you need to keep progressing.

* Buy used books – Many of the book sellers on the internet now offer used books through a network of thousands of book re-sellers and private individuals. You can save a lot of money this way.

* Once you get started, write simple programs that help you automate something that is wasting your time. For example, if at the end of every day you make a backup of the files you worked on during the day by copying the files “by hand” to a cd, you could write a program that automatically searches your working folders and copies the files for you – without you having to do anything. The extra time you get from each little helper program you write is time you can use to learn more about programming.

* Find a computer programmers “user group” somewhere near you. Almost all larger cities have such groups that meet on a regular basis – usually monthly. Many of these meetings are free, and usually they provide presentations on “how-to” do various programming tasks. They often also have study groups and beginners sessions. Not all languages are represented in all cites – but anything is better than nothing, so it can be worthwhile to attend any meeting of this sort that you can find that is within a reasonable distance.

* Take a beginners course at a local community college or extended studies program. These classes are usually offered at a very reasonable cost, and will help you get started. I have found a number of these classes available on line – and if you are eligible for entry, it can be very convenient to take a course this way.

Its time to get started

Programming can be fun, challenging, useful, and profitable. Not everyone has the nature or interest to become a full-time programmer, but almost anyone who can use a computer can learn to do something useful or fun with computer programming. If you think it is something you might enjoy, then I encourage you to give it a try and see what it’s all about. It is going to take time and dedication to become proficient, but it all starts with a single step. So now is the time.

Author: Woody Zuill
Article Source: EzineArticles.com
Provided by: Cool mobile gadgets

The Ratio of Analysts to Programmers

“Good specifications will improve programmer productivity far better than any programming tool or technique.” – Bryce’s Law

INTRODUCTION

In terms of systems development, during the 1960′s and early 1970′s you were either a Systems Analyst or a Programmer. Period. At the time, there were substantially more analysts than programmers (at least a 2:1 ratio). This was due, in part, to the fact that computing was just coming into its own in the corporate world and there were still people around who could look at systems in its entirety. However, there was a screaming need for people to program computers and, as such, this became the boom years of programming. If you knew COBOL, Fortran, or PL/1 you could just about right your own ticket. Salaries were good, and you could intimidate your employer simply by what you knew (you had to commit something like murder to get fired). The emphasis on programming became so great that authors rushed out voluminous books to increase programmer productivity, hence the birth of the Structured Programming movement of the late 1970′s, which was followed shortly thereafter by the CASE movement (Computer Aided Software Engineering).

While programming was growing in stature, Systems Analysis was in sharp decline. Trade groups such as the Association for Systems Management (ASM) saw their membership dwindle to nothing and were forced to close their doors. The last of the old Systems Analysts either retired or were put out to pasture by corporations in the 1980′s. New job titles emerged, such as Software Engineer and Analyst/Programmer. This latter title is a bit of a misnomer as the emphasis was on programming and not systems analysis.

Although programming excelled, a noticeable void began to appear in terms of people who could see systems in its totality. Writing a good program is one thing, getting it to interface with other programs to form a whole system is something entirely different. By the turn of the century, the industry started to talk about such things as “Enterprise Architecture,” “Business Processes,” “Business Rules,” “Business Analysis,” etc. Further, new conferences, trade groups, and job titles began to emerge. Today, programmers are considered a dime a dozen and the stock of a true analyst is on the rise.

All of this is indicative of the industry trying to reinvent systems theory. In reality there is nothing new here as systems analysis is systems analysis. But as companies implement these concepts and job titles again, they are a bit uncertain as to where they fit in and their relationship to other Information Technology functions.

CHARACTERISTICS

A Systems Analyst goes by many names these days; e.g., Business Analyst, Enterprise Architect, Systems Engineer (my personal preference), etc. Nonetheless, we are talking about a person whose mission is to study the information requirements of a business and design a total system solution to satisfy them. Further, the analyst is responsible for specifying the software requirements and, as such, is considered the intermediary with the programming staff. The personal characteristics of the analyst are considerably different than the programmer. Whereas the programmer tends to be more introverted and focused on technology, the analyst tends to be more business oriented and extroverted. Analysts possess good communications skills (verbal and written) to effectively work with both the end-users and the programming staff. They know how to conduct an interview and make a presentation (salesmanship). In addition, they tend to look at the bigger picture as opposed to just a portion of it, and possess an entrepreneurial spirit.

The analyst understands the business problems of the end-user and is intimate with the operation of the user’s department. In other words, the analyst can comfortably walk in the shoes of the end-user. If they are doing their job properly, analysts make excellent candidates to assume responsibility in the management hierarchy. But because analysts were in decline for so many years, this hasn’t happened for quite some time. The last time I heard of a systems analyst graduating to a major management position was Dan Boone who was made President and COO of Armco Steel in the late 1970′s.

If systems analysis is performed correctly, programmer productivity should improve as analysts should be providing good specifications for application assignments. In the absence of systems analysts, considerable time is lost by the programmer who has to second-guess what the end-user wants. Inevitably, this leads to rewriting software over and over again. Good data and processing specs, as provided by a systems analyst, will improve programmer productivity far better than any programming tool or technique. This means programmers are the beneficiaries of good systems analysis.

This brings up an interesting point, what should be the ratio of Systems Analysts to Programmers in a development organization? Frankly, I believe there should be twice as many analysts than programmers. By concentrating on the upfront work, programming is simplified. Let me illustrate the point by using the following triangles representing the total amount of effort in a project (as an aside, I picked this up from my customers in Japan who share my opinion), see:

http://www.phmainstreet.com/mba/blog/ss060724.jpg

The triangle on the left represents the traditional approach whereby there is twice the number of programmers to systems analysts. Under this approach, considerably more time is spent producing software to satisfy poorly defined requirements. The Japanese point out the bottom of the triangle is actually bottomless as it means more time is needed to complete a project. Compare it to the triangle on the right where there are twice as many analysts to programmers. Under this scenario, more time is spent analyzing the problem, designing the system, and producing better programming specs. Consequently, the programmers do not have to second-guess what has to be performed and can go about their work more productively.

The problem with the diagram on the right though is that Systems Analysis is considered to be somewhat of a nebulous concept to management. Programming, on the other hand, is more tangible and easier for people to grasp; you are either writing code and producing a program or you are not. Therefore, the mindset in management is that you are not being productive unless you are coding, hence the inclination to shortcut systems analysis. This is a key reason why Systems Analysis collapsed in the 1980′s. And this is why it is necessary to provide training so management appreciates the need for systems analysis. Frankly, I have found management can be very supportive if it is presented to them properly.

CONCLUSION

Whether you call them Systems Analysts, Business Analysts, Systems Engineers, or Enterprise Architects, it is very encouraging to see this vital function being reintroduced to companies. As far as I am concerned, it was inevitable. I guess companies finally figured out you cannot satisfy your systems problems simply by using better programming tools and techniques.

We are also beginning to see the resurgence of related trade groups to replace such groups as the Association for Systems Management (ASM), for example:

The International Institute of Business Analysis

The IIBA appears to be picking up where ASM left off, including certification. Whereas ASM developed and offered the Certified Systems Professional (CSP) certification years ago, IIBA wants to create something similar.

All of this is indicative of how the industry is trying to reinvent systems theory. Whereas such systems work was well known up until the 1980′s it was forgotten over the last twenty years due to the emphasis on programming. Fortunately, companies have finally realized the importance of systems work and are trying to get their houses in order. I guess what goes around, comes around.

Author: Tim Bryce
Article Source: EzineArticles.com
Provided by: Canada duty tariff