IT-Consultant: Charles Pegge > Software Design and Development Issues

Modern Programming Language Concepts

(1/2) > >>

Donald Darden:
Moving to VB6, RealBasic, kbasic, or Java from a background in something like QBasic, PowerBasic, or FreeBasic can be a bit daunting.  The reason is apparently OOP, or Object Oriented Programming.  This represents a whole new way of thinking about how to program, and making the code more modular, date-centric, and in many cases, event-driven.  In contrast, the older languages were primarily procedure-oriented, monolistic, and structured for specific tasks.

You can still combine the older methods with the new capabilities found in a modern programming language, but that still puts the onus on you to get up to speed with the terms and concepts advanced within that language.  If you don't do this, then it would be much like a one-legged running competing in a marathon race.  You may finish, but your handicap will keep you near the back.

I am not speaking as an expert here.  Heck, I'm still struggling to come to terms with modern languages as well.  But that makes me more sympathetic with the problem that others face.  So let's start with some online references to get us all started.

Object-Oriented Programming Concepts

Basic Concepts of OOP

Introduction to Object Oriented Programming Concepts (OOP) and More

Object Oriented Programming (OOP)

Object-Oriented Programming in Visual Basic .NET

VB Object-Oriented Development Page

Visual Basic Syntax

Inheritance Syntax

VB Object Syntax Introduction

Object Oriented Programming in Visual Basic

Making Object-Oriented Programs with Visual Basic

What I am attempting to do here is first, make people aware of the general idea of Object Orientation, and some of the properties associated with this topic.

Then the second step is to expose those same people to the terms or names involved, and a chance to read up on the concepts that underly them.

The next thing I believe should be relationships.  Programs are built up of many statements, of which the majority build on preliminary work done by earlier statements.  If this were not true, then most programs would be one-liners.  We also find that the relationship between certain sets of statements are so strong that they must. as a rule, be used in a certain sequence.

The point then is to look for example code to illustrate these relationships, because a lot of efforts to explain commands and options do not really focus on the implicit relationships until they get to coding examples.

A big problem here is not just learning concepts, but learning the syntax rules for implementing those concepts.  You have to understand the syntax rules to be able to understand the examples, and you have to remember them well enough to be able to use them when you write your own code.

Donald Darden:
Different languages have different features, different keywords, different operators, and different syntax rules.  Even products that claim to be related, such as the various flavors of BASIC, are likely only similar and not identical.  And products can evolve over time, adding new capabilites and refining the manner in which they work.

In learning Object Orientation technology, it helps to focus on a given language, because the difference from one implementation to another can serve as a tripwire and make matters more confusing at a time when you are just trying to learn the fundamentals.

C++ and C## are two dialects of the C language with the ability to support OOP.  But it isn't necessary to limit your selection to either of these.  Many people prefer Visual Basic from Microsoft, which became part of their Visual Studio, and which has largely be superceded by Visual Studio for .NET.  I won't get into what that means, but it essentially focuses on development work for distributed enterprises that need to tie their computer applications and data together, wherever they are found.

Visual Basic verson 6 supports OOP, and is the language of choice for many.  Looking on the Internet, I can see places where it is still available.  But you have other options as well, such as RealBasic and kbasic, both also available from the Internet.  I'm taking a close look at kbasic, because it promises source code compatibility with VB6, it is a cross-platform compiler for Windows, Linux, and the MacOS (it relies on Qt for this capability), and because you can get all three packages from them for about $35 U.S.  And you can download the trial version or use the Open Source version of kbasic for no charge, just to see if it is what you want or not.

So with these options available, there really should be no reason why you can't make an effort to pick up on OOP and advance yourself via your programming skills.

Patrice Terrier:
For me using OOP or the classic PROCEDURAL syntax, is more a question of reusability of my existing code.

While I am using some languages that are OOP only, like C#, some are not, and some accept both syntax like WinDev.

The procedural model using the CALL syntax is almost universel, while the OOP implementation is often specific to the language being used.

And when i write a plain Win32 DLL in procedural mode, i know i could use it with all the programming languages, it is like using plain SDK   ;)

Now, if PowerBASIC could introduce some OOP features in PB9, then I would be very glad too  ;D


Petr Schreiber:

--- Quote ---Now, if PowerBASIC could introduce some OOP features in PB9, then I would be very glad too ;D

--- End quote ---

I do not want to start any vaporware / unsubstantiated discussion here ... but did you noticed that when you type word "class" in PB8.04, it is highlighted as keyword? I asked PB support about it and got following reply:

--- Quote ---Currently the reserved word "Class" is not implemented in the compiler, but is reserved for future use.

--- End quote ---

So ... maybe ? ;)

Regarding "modern programming concepts", I think OOP is not so new concept as I thought.
Do you know about some newer approach than OOP is?


Patrice Terrier:

--- Quote --->> Currently the reserved word "Class" is not implemented in the compiler, but is reserved for future use.

So ... maybe ?

--- End quote ---

If it is reserved for future use, then let's see for the future version ... who knows 8)

For me OOP is more a matter of new syntax than anything else, because alone it doesn't brings new features.
But when it is tied to COM, then it gives us direct access to IMAPI2 or DirectX (and all the latest Microsoft API) that are a pain to use with the current PowerBASIC syntax.



[0] Message Index

[#] Next page

Go to full version