[Tutor] Beginner Noob

Alan Gauld alan.gauld at yahoo.co.uk
Sat Jun 6 03:58:56 EDT 2020


On 06/06/2020 01:19, 1611kjb at gmail.com wrote:

> Whew, I'm long winded, I say all that to ask, what are the advantages to
> jumping over to Python from VB? 

Python is a more modern language with more powerful data structures and
language constructs. Although with modern VB.Net that's less of an
argument. Python also has an awesome standard library and third-party
supported ecosystem.

> I am simultaneously working on C# and
> wondering if it's worth taxing myself to learn another language. 

Every language teaches lessons that you can apply in every other
language. Some teach more than others - Lisp, Smalltalk, Prolog, etc

C# is a traditional language in the same vein as C/C++/Pascal/Java.
It's very good for large projects (100k+ lines) involving many
programmers. But it requires a lot of planning and design at a detailed
level to use effectively.

Python is designed for rapid implementation. It's not as fast in
execution but it can be thrown together in a more experimental
fashion. Before I retired I used Python as a prototyping language
before handing designs over to our contractor programmers who were
using Java. Of course Python can be used in production code too
with a little extra care.

VB sits somewhere between those two on the technology continuum
Faster to write than C#, not as fast as Python(unless you are
building GUIs) but not as powerful as C# either. (I may be wrong
but I get the impression that VB.Net is slowly fading away.
C# has closed the gap to the point where VB's advantages have
been eroded.)


> platform for K12 education, Arduino controllers and Raspberry PI computers.
> They all seem to like Python and C, C++ and C#. I'm an old retired guy
> stretching the grey muscles and just wondering if this is a good way to
> apply myself. Thanks for any input. I'm sure I'll br here a lot.
Python is used in all these areas and is generally considered easier
to learn than C# and certainly C++. I would only recommend C++ if you
are tinkering at the machine level - its the natural partner for an
Arduino for example. C# (and Java) are similar to C++ but more
focused on higher level application code. C++ compiles to native
machine code. All the others compile to bytecode which is then
interpreted. For normal human interactive programs it makes little
difference on modern computers. If you are writing a high data
volume server or a piece of hardware interface then speed may
become an issue and c++ wins. But at the expense of much harder
to write, test and debug code.


-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos




More information about the Tutor mailing list