Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #1040

Re: Types of programming

From seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t)
Newsgroups comp.programming
Subject Re: Types of programming
References <10b4b505-9c71-4cef-8578-2ed45e0e05a8@z15g2000prn.googlegroups.com>
Message-ID <REM-2011nov13-002@Yahoo.Com> (permalink)
Date 2011-11-13 13:40 -0800

Show all headers | View raw


> From: ssylee <staniga...@gmail.com>
> I want to know on an overall picture of what kind of software
> development there is out there.

Are you interested ONLY in commercial software, i.e. software that
somehow makes monetary profit (direct sales by shrink-wrap or
pay-per-download, lease/license, pay-per-use, advertiser supported,
etc.)?
Or also software that is truly free yet used by lots of people
(freeware, shareware with no way to enforce payment of fees, open
source, etc.)?
Or also software that uses a non-monetary economic model, such as
barter exchange of labor, such as http://TinyURL.Com/NewEco ?
Or also software developed by an individual for use only by that
one person for automating tasks of individual personal benefit?

> Would http://www.joelonsoftware.com/articles/FiveWorlds.html
> wrap up most of them in terms of the market?

Now you've changed the wording from "software development ... out
there" to "the market". Obviously some types of software
development are NOT part of "the market", regardless of what kind
of "market" you are referring to. For example, freeware and barter
aren't part of the ordinary financial market, and individual
personal software isn't even part of the barter market.

Anyway, I have some critique of that article:

| I think there are five worlds here, sometimes intersecting, often not.
| The five are:
|  1. Shrinkwrap
|  2. Internal
|  3. Embedded
|  4. Games
|  5. Throwaway

That article seems to leave out software that is kept under the
control of the programmer(s) yet allowed to be used by outsiders,
either for free or for pay or for barter. Usually this is
Web-server applications, accessible from just about any Web
browser, where NONE of the new software can be seen in source form
nor even in compiled form by users, ONLY its look-and-feel and
functionality is observable to users. Whereas shrink-wrap software
can simply be COPIED verbatim and re-sold underground, or can be
disassembled and then modified and recompiled, to effectively
"pirate" all the algorithms with minimum effort, Web-facing server
applications would require a complete reverse-engineered re-write
to effect a "pirate" result, making it much safer from "piracy".
To my mind, that means that Web-facing server-side software isn't
included in the above list.

| ... web based software ... have to deal with a wide
| variety of web browsers and a large number of users so I
| consider this basically a variation of shrinkwrap.

Well I disagree. I write my Web-server applications to make no
major assumptions about the browser, except where absolutely
necessary to deliver the content. For example, I never require the
ability to show JPEGs except for specific applications whose whole
purpose is to deal with images. (In particular, creating a new
account, or learning an e-mail address, doesn't require viewing a
CAPTCHA. I use missing-**** questions instead. Can you guess that
the missing **** is?) I don't require JavaScript or Flash or or
Java applets or PDF-viewer at all, ever. Any Web browser capable of
rendering HTML 3.2, including generating URL-encoded GET or POST
data from forms, is sufficient for using my Web applications.

Because I don't use JavaScript or Java applets to run the business
logic nor even the input validation, nobody can steal my JavaScript
or jvm code and use it for their own Web services.

Thus I really feel that "shrink wrap" doesn't cover Web applications.

| Internal software only has to work in one situation on one company's
| computers. This makes it a lot easier to develop. You can make lots of
| assumptions about the environment under which it will run. You can
| require a particular version of Internet Explorer, or Microsoft Office,
| or Windows.

FaceBook is like that. They support only a very small number of Web
browsers, and only the very latest version of each. I have no money
to buy a new computer capable of running any of those specific
browsers, so I have no access to FaceBook from here. If I try to go
to nearly any FaceBook page, it notices that lynx isn't a supported
browser, and redirects me to:
  http://www.facebook.com/common/browser.php
Apparently FaceBook operates more like internal software (don't
care to support the majority of environments out there) rather than
Web services (HTML 3.2 is sufficient for operatability).

Otherwise that Web article has some worthwhile things to say.

Back to your newsgroup article:

> I've collected the following purposes of writing software
> initially from gathering what my networks do for a living.
> web development
> backend
> frontend
> core engine
> GUI
> application software

Those seem to be seriously overlapping. In particular a Web-server
application is obviously "web development" (DOH!!), as well as
"application software" (again, DOH!!), but includes backend
component ("business logic", as well as "persistent data" such as
RDBS), and frontend component (HTML server->browser, and urlencoded
form contents browser->server, as well as any templates used to
generate the HTML, and any validation of form contents), and core
engine (PHP or CGI within Apache server), and finally there's a GUI
component if the Web-server application involves images or graphics
as an essential part of the service (or even as decoration to ease
use somehow).

> embedded systems
> performance computing
> test automation/measurement/analytics

At least those are pretty much disjoint.

Google-groups-search-key: imtrgfdi

Back to comp.programming | Previous | NextPrevious in thread | Find similar


Thread

Types of programming ssylee <stanigator@gmail.com> - 2011-11-05 22:00 -0700
  Re: Types of programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-11-06 09:35 +0100
    Re: Types of programming seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2011-11-13 15:16 -0800
      Re: Types of programming ssylee <stanigator@gmail.com> - 2011-11-13 19:43 -0800
        Re: Types of programming seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2011-11-26 00:36 -0800
  Re: Types of programming BGB <cr88192@hotmail.com> - 2011-11-06 11:42 -0700
  Re: Types of programming seeWebInstead@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) - 2011-11-13 13:40 -0800

csiph-web