Programming Environments

Started by Donald Darden, April 16, 2007, 08:53:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Donald Darden

 
Okay, this is another experimental forum.  Thiis one invites you to consider and contribute to the discussion where it involves different programming environments.

By environment, I mean the distinctions between various versions of DOS, Windows, the different flavors of Linux, Unix, and so on.

The envionments that generate threads will eventually become their own forums,  The ones that fail to take off, will eventually be discarded.  If nothing pans out, we will look for another subject area to discuss.

Suppose you are a DOS developer, and you have fought the long fight to stay clear of the Windows world.  But your customer has announced that they are making the long-delayed transition to Windows, and now you want to know what issues you face in adapting your programs to that environment.  Can Windows support what you already have?  What changes to you have to make?  Can your old compiler and development software work under Windows?  If you find you need to upgrade your development tools, what would be your best options?

Those are the kind of questions that developer-to-developer communications can help identify and resolve.  Maybe your choice instead is to hop off of Windows and move to some distribution of Linux.  Do you know which one yet?  Is there a version of your development tools that will work in that environment?  How about a place where that type of question can be asked and answered.

How about Virtual Machine software?  That might be the way to go.  What products work and work well, and what type of PC is needed to make them work well enough to meet customer needs.

I'm just trying to think outside the box here.  To some people, Vista is a whole new ballgame, and they are champing at the bit to transition to it.  But many businesses are more concerned with security and ongoing business requirements, and the cost of conversion and retraining.

In time, there will be more answers available, as more people become exposed to and experienced in dealing with these issues.  So let's see if this becomes a useful topic or not.
  •  

Donald Darden

Programming environments are not limited to which OS you are using.  It could be
understood to relate to the work environment as well.  For instance, the big
software shop or IT group, the freelance developer, the guy struggling to
create a new game or piece of business software, or the guy that wants to
create databases and web pages.  It's all part of the total environment, so if
you have no particular questions about programming to a particular OS, or making
sure your code works with more than one target, you might still have questions
or opinions that would steer the questions into other areas of interest.

For instance, suppose you are a novice programmer, looking for everything you can find on programming in PowerBasic, and your search brought you here.  Maybe in the back of your mind is a question, the one that goes:  "After I learn PowerBasic, can I find a good way to make a living as a PowerBasic programmer?  How did others get started, and what did they have to learn in addition to PB?"

The question could also be, "Where can I find help on a project if I get in over
my head?", or "How do I market my own software - what should I charge, how
do I control distribution, and how do I find potential customers?"

If you are earnest in your interest in PowerBasic, such thoughts should have
crossed your mind, or maybe you decided to address them down the road.
Well, the forum is here and now, so if you have questions or advice, then this
may be one of your stops.
  •  

Charles Pegge

#2
Moving from Microsoft to Linux:

I wasnt taking any chances so I bought a dedicated Linux machine (based on ITX), with the system pre-installed. Out of the options available (Centos,Fedora,Mandriva) I chose Mandriva because I guessed it might be the most friendly to first time users. The desktop is highly compatible with MS style desktops, right down to menu accelerator keys. Just about all the software you need to run office applications is provided.

Since there is virtually no support for USB modems in Linux, out went my USB ADSL modem, and in came a 4 port Ethernet ADSL hub so that other PCs can also share the broadband. No drivers were required, just some configuration on the hub's internal (on-chip)  web pages, to automatically maintain the connection with the service provider.

Next I needed some cross-platform basic and found Freebasic:

http://www.freebasic.net

which is very similar to PowerBasic, being a direct descendent of Qbasic. Its internal functions are not as extensive as Powerbasic's, but it comes with an extensive range of libraries, and has a slightly cleaner syntax.
and IDE is available to support the Windows version, FBIDE but in Linux you have to rely on the terminal and a text editor.

Console / DOS programming is straight forward and presents no platform compatibility problems but when it comes to the Graphical user interface, that is a different story. Apart from Opengl just about everything else uses somebody's library which has to be downloaded and installed. All with different installation instructions.

But I am optimistic for the future. One Linux company, Linspire (originally Lindows before threat of litigation), has developed a repository and download service call Click 'n Run, which will be shortly available initially to Ubuntu users as well as its own customers very shortly.

http://www.cnr.com

Meanwhile, the bridge has been establish and there is plenty to do over the next few months.

Chuck Hicks

We are in the process of deploying approximately 2,000 thin client devices running Linux.  I was responsible for working with the thin client vendor to customize the OS to meet our specs, which include running Firefox 2.x in kiosk mode.  Built drivers for two highly specialized printers, and support for both a controller-based modem and ethernet.  Custom UI for setup, including ppp login, dynamic or static IP settings, and proxy settings.

We have previously done similarly large deployments over the past ten years using Windows, so moving to Linux was a big change.  Absolutely no regrets, however.  Linux is infinitely better for this purpose than Windows, is far more customizable, and far easier to customize.  The boot process is utterly simple, completely transparent, and very easy to customize.  Locking down the OS is far easier.  The bash shell is so much more complete than the pathetic CMD shell.

I'm actually writing this on one of the thin clients (not locked down).  It's been powered up for months now, and never has to be rebooted.

Did I mention that moving to Linux saves about $50 per thin client vs. XP embedded?
  •  

Bernard Ertl

It seems the big push these days it towards web services, so the development OS really doesn't matter as long as the either you (the developer) or your clients maintain servers running the OS.  End users just need a web interface and that can be any OS/browser.

Donald Darden

Actually, the OS does matter to us, because development tools may limit us in our
preference of what system to employ.  Fact is, the client/customer may also have a deep commitment to a specific OS, and that may in fact limit our ability when it comes to offering possible solutions.

Web-based services offer promise for some types of deployments, but look at the infrastructure involved, and the vulnerabilities exposed.  The most obvious one is
that web-based services are slower than dedicated applications running on independent platforms.  Protecting your network and data, particularly one that bridges the internet, can prove a major challenge.  Often you are dependent on how someone else did their piece, and whether your pie will crumble or not.
  •  

Chuck Hicks

Quote from: Donald Darden on May 22, 2007, 03:55:52 AM
Web-based services offer promise for some types of deployments, but look at the infrastructure involved, and the vulnerabilities exposed.  The most obvious one is that web-based services are slower than dedicated applications running on independent platforms. 

An insignificant issue in large enterprises, with 100MHz or 1GHz LANs.  Far more significant is the cost savings realized by using web services, particulary deployment, configuration and app management costs. 

Quote
Protecting your network and data, particularly one that bridges the internet, can prove a major challenge. 

Easily managed with SSL and/or VPNs.  Online banking is a case in point.  Most large enterprises (including mine) use VPNs when accessing corporate apps via the internet.

Quote
Often you are dependent on how someone else did their piece, and whether your pie will crumble or not.

Enterprise apps are built around standards today, including J2EE, SOAP, XHTML, etc.  The pieces fit together far more easily today.  Many adapters are available for legacy, proprietary interfaces. 

  •  

Donald Darden

From the large scale perspective, you are right.  But in context of the unfortunate fact that few large scale shops are rushing to adopt PowerBasic, I think that the individual programmer is more apt to look for a simpler, more cost effective, and more managable solution that scales to his or her capabilities.

As every professional knows, you are paid to know and to do.  But the learning process is ongoing.  Shifting from one mode to the other is always a challenge.  Often, the exchange of viewpoints is a way we preface that learning process.  It helps us identify and recognize areas where we need to direct that learning effort.

So our respective viewpoints should serve to help others in this regard, and you observations and comments serve as a recommendation to those interested in pursuing that course.  I personnally think your contribution to be of considerable value.

I would note here that PowerBasic is a great development tool in its own right,
but it presently favors the individual developer over the team or group approach to programming.  It is weak in collaboration, version control, and project management capabilities.  However, these are secondary needs that can be fulfilled with third party tools and applied organizational principals.
  •