It is possible to learn the basics of programming with any computer and related software, but to really learn what is possible, it is necessary to turn to a programming laboratory. A laboratory has two advantages. The first is that it is possible to receive instruction by a professional programmer, and the second is that it is possible to use programming to control machinery.
A programming laboratory is not technically essential to practice writing a program, but it might be necessary to run a program. Even relatively simply programs depend on a great number of loops and might require a computer with capacity far in excess of what a normal desktop can handle. A lab might be the ideal place to test challenging programs. In truth, a few lines of code might even require a supercomputer to run successfully if there are enough processes involved.
A laboratory does give students access to more powerful computers or just to computers with more proprietary programs. There are a variety of reasons to use a lab instead of a home computer, and one reason might be just to access full versions of expensive software. A basic compiler can be downloaded for free, but commercial versions often have large libraries of objects that can be used to cut down on programming.
Most professional programmers call code from an existing library instead of writing all code from scratch. This has the power to greatly reduce work while giving a general programmer access to powerful software snippets that require a great deal of specialized knowledge to write. This includes code that commands computer parts to operate in a certain way. Commanding a robot to move means writing directions according to an existing program.
It is also true that some people just do not have access to computers or the ability to edit more than the most basic programs. Because most programming languages are exact, any mistake will turn out the calculations wrong. For this reason, many amateur programmers and even experts depend on editors that can quickly identify small but important syntactical mistakes. It is not enough to open a text file except for the most basic of programs. A human eye has a hard time keeping track of the more complex programs.
Perhaps the biggest advantage of a programming lab is that they have more than a compiler available as software. Often they have programs that are specifically designed to teach proper syntax and even coding logic. Similar services are available on the web, but they often cost a subscription. A good lab has advanced teaching software that is installed on a machine that uses full processing power to run a program.