Programming Starter

How can one begin programming? One may decide they expect a certain functionality from their program. For example, one could decide they are going to create a program that will search inside the PDF files on a special local path on the user's hard drive, look for plain English sentences, randomly display them on the user's screen, and store it in some kind of database of its own, so that with a special key it can recognise whether it has already come across that sentence. On pressing a key by the user or after some time has elapsed, the program displays the next such sentence.Some extra feature may include recording user feed backon whether they wish to see the sentence again and so on.

There could be a dozen similar or dissimilar tasks on one's list. Now that there is a relatively clear picture at hand as to what sort of task one might wish to accomplish, let us see what tools one needs and what tools are available.

One may wonder they need to search for something locally. So they need a search 'tool' or a so-called search 'object', or whatever other entity that by categories shows the way to relatively easily choosing one's tools and then trying to figure out how to fulfill the overall functionality one expects of their program. Beginner class programmers may ask several questions. Does Visual Basic (VB) fit the bill? They have not heard such a feature in action in VB yet. What a bout Borland's ObjectVision? But they are not sure as to whether it will provide the necessary tools to create, 'make,' or 'biuld' a program of their own interest, without leaving them high and dry half-way through the programming job? This does not mean one expects simple tools. Can one remember DOS or UNIX commands. They have certain roles and can be put to use to perform defined tasks. However, their range of possibilities is very limited. It does not matter much whether the tool mentioned is command-driven or visual. It can be either, or both. But whatever it is, VB object browser and so on does not do the job.

The current programming languages and the IDE's supplied with them could well be enough. There are thousands of programmers around that code almost any software using commonplace tools. The beginner, though, needs a good source to guide them what to use to accomplish what in these environments. An issue current literature on teaching programming languages does not seem to cover, nor do the online communities and Web, nor MSDN type of sources very much.

Is there any such software and/or guide available? In short does any source tell one 'if you want to do this, then choose blah blah blah,' without failing to provide commands that dumb, or one through which one, at least the beginner, does not seem to see his way?

Last edited on
Programming is such a strange thing which could be learnt (comparatively easily), but almost could not be effectively taught :)

It is good to have an idea about "what I want to write", however, it is important to become acquainted with many simpler tasks - one of them demonstrate usage of some data structures, others will give idea of most influential algorithms, third may provide understanding of working with devices, files, APIs, documents of special formats etc.

It is good to be able to invent tons of tasks for solving or find a place where they could be taken from. I'm now creating web-site with collection of tasks for beginners and some means of checking solutions:

http://codeabbey.com

As for tools... I am not sure about VB. Basic itself was designed as language for non-programmers, but it was long ago. It definitely lacks many important features of contemporary languages. Many people prefer using Python in education. By the way python has very good official tutorial:

http://docs.python.org/3/tutorial/

C/C++ is not as bad, but for higher-level programming it perhaps is not the best choice since it forces beginner to dive into the sea of important but not necessary details of memory management etc.

As a matter of fact learning programming is not the same as learning programming languages. You see, if one wants to learn building houses, it is out of question that one should know how to use hammer, saw, and other tools. No manual of house building will start from explanation about "which side of the screwdriver to hold".

So, summarizing, I would say - if one wants to master programming - one should move in two different directions almost simultaneously - learning some programming language (it is not of big importance which - however ones are easier to start than others) - and practicing building of programming logic, expressing thoughts in programming statements etc - i.e. solving a lot of tasks.
Good points in the post. The point, however, is to find some way of getting a series of predefined routines, with an almost unlimited ability to modify, do the job at hand, without necessarily requiring comprehensive programming knowledge. At the same time not limiting the potential know-all programmer by omitting the features a n expert may use, such as defining functions, working with data structures, and other common language features.
There are some old programs already produced that partly fulfill the need, such as MacroExpress, that can perform a variety of jobs. There is, however, a long list of features that this program needs so that it can perform at least common, everyday tasks a computer operator demands. Other programs provide means that can hardly be compared to a programming task, such as making a browser almost instantly. But they look somehow specialised. Unless one intends to make a web browser, or a media player, for instance, they are of little use.
Perhaps a project that could build on MacroExpress would satisfy a considerable share of user interests.
Topic archived. No new replies allowed.