I agree, RichAlgeni: PureBasic is easy to learn and the learning curve is very low.
For a C++/C#/Java guru those languages are also easy to use. I agree again that
the learning curve for those languages is steeper. They include much more features
and support the object oriented programming paradigm.
When learning PureBasic, it is not required to learn about operator overloading,
templates and patterns.
I can not agree when it comes to maintenance and refactoring. The features and
stability of the other languages make this easier, so it could easily be the opposite for PureBasic.
I think you will see the effect better for large sources. Even more if you come back to
a source after 2 years or you get a project from another programmer.
Old sources don't work anymore because PB always changes. Old user libraries are
out of date very often. A procedure with ASM just doesn't work anymore and you don't
understand what the ASM guru wrote few years ago. Missing or poor error handling
is very common. The whole structure of the source is very different for every programmer,
you basically just get a bunch of procedures, structures and constants in a global naming space,
no modules, classes and namespaces for structuring big sources.
Even worse:
Code: Select all
EnableExplicit
Global height.i
Global height.i
This is very dangerous, the compiler does not give a warning or error that the variable
is already declared. Such flaws in the language/compiler help you to introduce hard to find bugs
if you declare a new variable that has already been used before in another include file.
The bigger the source gets, the more such flaws may become very disturbing.
You have to be very careful and disciplined when it comes to coding style, whereas other
compilers/languages help you actively to prevent such errors.
It is a bad thing to use global variables, i know. But you have to admit, it is commonly used PureBasic style.
There is no support for refactoring in the PB IDE. Visual Studio programmers use special plugins
most of the time to speed up development time and refactoring time.
Visual Assist X and
ReSharper are common examples for tools that boost your productivity dramatically.
The IDE and tools are very important (key factors) when it comes to maintenance, refactoring, productivity... = technical debt.
While PB is easy to learn, it has also its problems when it comes to more 'advanced' features,
long time maintenance, refactoring and large sources. Just ignoring this problems and say PB
is better than all other languages and systems doesn't help much in my opinion.
Maybe it is better to admit, talk about, and address this possible problems.