Linked by Takuya Murata on Tue 18th May 2004 06:26 UTC
My physics teacher likes to say that physics like to make problems they face look like ones that they know how to solve. A simple harmonic oscillation was one he frequently used in class, as is presumably the case in physics in general.
Permalink for comment
To read all comments associated with this story, please click here.
Programming is not the same as decades ago. Decades ago, languages were harder to work with. Let's examine old BASIC:
1. Editing was made mostly through line numbers. Hopefully you had the RENUM command to help you out.
2. Numeric variables were using slooow floating point math. Integer variables were introduced later and you had to remember to use % or to do a DEFINT.
3. Some older BASICs did not even have ELSE in their IFs. Multiple commands for the IFs had to be rolled in the same line with colons, or rerouted through a GOTO.
4. The use of GOTOs and GOSUBs could be a mess if you were not careful.
Some people had to go straight to good old assembly and handcode much of the stuff that just flat out needed performance. Independently of the current ease (or lack) of coding for moderm CPUs, it was harder to code CPUs back then. Ever coded for a 16-bit real-mode system (8086). Ever coded for the 6502/6510 (used by the Commodore 64). That CPU had only 3 8-bit general purpose registers, and you can only even do some stuff on one register. There was no multiplication or division.
Other languages such as C eventually came but they were not as easy to use back then. You had to be careful to do proper memory management under a segmented system such as DOS in real-mode, and what with all the compability concerns (EMM, XMM, yadda yadda yadda).
As far as modern languages, I prefer Java and C# (SYNTAX-WISE) because, once you learn them, you have a lot at your disposal. However, I think that the APIs are a killer. As APIs evolve, many of them hang around bloating your system. ODBC... ADO... JDBC... etc... Then there's DirectX... OpenGL... there used to be Glide and there's still Java 3D... I believe developers are more productive when APIs are less and more solid and straightforward, and the systems do not rely on legacy stuff, but then again...
Programming is not the same as decades ago. Decades ago, languages were harder to work with. Let's examine old BASIC:
1. Editing was made mostly through line numbers. Hopefully you had the RENUM command to help you out.
2. Numeric variables were using slooow floating point math. Integer variables were introduced later and you had to remember to use % or to do a DEFINT.
3. Some older BASICs did not even have ELSE in their IFs. Multiple commands for the IFs had to be rolled in the same line with colons, or rerouted through a GOTO.
4. The use of GOTOs and GOSUBs could be a mess if you were not careful.
Some people had to go straight to good old assembly and handcode much of the stuff that just flat out needed performance. Independently of the current ease (or lack) of coding for moderm CPUs, it was harder to code CPUs back then. Ever coded for a 16-bit real-mode system (8086). Ever coded for the 6502/6510 (used by the Commodore 64). That CPU had only 3 8-bit general purpose registers, and you can only even do some stuff on one register. There was no multiplication or division.
Other languages such as C eventually came but they were not as easy to use back then. You had to be careful to do proper memory management under a segmented system such as DOS in real-mode, and what with all the compability concerns (EMM, XMM, yadda yadda yadda).
As far as modern languages, I prefer Java and C# (SYNTAX-WISE) because, once you learn them, you have a lot at your disposal. However, I think that the APIs are a killer. As APIs evolve, many of them hang around bloating your system. ODBC... ADO... JDBC... etc... Then there's DirectX... OpenGL... there used to be Glide and there's still Java 3D... I believe developers are more productive when APIs are less and more solid and straightforward, and the systems do not rely on legacy stuff, but then again...