delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/08/11/19:15:24

From: matt DOT reece AT iname DOT com
Newsgroups: comp.os.msdos.djgpp
Subject: Re: allegro == or != programming
Date: Tue, 11 Aug 1998 22:12:49 GMT
Organization: Deja News - The Leader in Internet Discussion
Lines: 53
Message-ID: <6qqfl4$fe5$1@nnrp1.dejanews.com>
References: <3 DOT 0 DOT 1 DOT 32 DOT 19980806002411 DOT 007a0100 AT adinet DOT com DOT uy> <35CA7346 DOT 5C231859 AT geocities DOT com>
NNTP-Posting-Host: 152.175.207.191
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I'm sorry, Merlin, but I have to respectfully disagree. I haven't read every
post in this thread, so maybe I'm just rehashing old material here, but I
thought I'd give you my opinion. I don't think that using Allegro is like
having it do all the work for you. Instead, it's removing a potentially
tedious part of the programming task from you. I certainly wouldn't want to
have to go to all the trouble of writing so much code. It doesn't mean if I
write a program with Allegro or some other library that I'm not doing the
work. Most programs written with Allegro are probably complex and difficult
projects in their own right, and the programmers don't want to waste time
writing graphics code. I'm not implying that no one should bother learning
how to do graphics on the hardware level. After all, someone has to!
Otherwise we wouldn't have nice libraries like Allegro and OpenGL. However, I
don't think the average programmer who uses graphics code needs to know this.
I think graphics APIs, and other libraries like the standard C and C++
libraries, are great tools and should be used whenever possible. Hardware
changes. Even operating systems change. Ten years from now, we may not be
using DOS or Windows NT or Linux. We may have super-fast quantum computers,
as someone has pointed out. If you learn now how to do graphics at a hardware
level, that knowledge won't help you several years down the road. However, if
you learn to use a good library, you can count on having, if not the same
library, a similar one on whatever system you use. I would expect most
graphics libraries to provide, for example, a putpixel(x,y,c), or a
line(x1,y1,x2,y2,c). However, I wouldn't expect to be able to say:

mov ax, a000h
mov es, ax
mov bx, y
mov ax, bx
shl ax, 6
shl bx, 8
add ax, bx
mov di, ax
mov al, c
stosb

(Plotting a pixel in 320x200x256 in Intel 80x86 assembly). I think the
important things to learn in programming are good general techniques
(object-oriented methods, for example). It's also important to be familiar
with things like the standard C++ library. Even if you're not using it,
you'll probably find similar facilities (lists, maps, strings) in other
libraries and in other languages. So, I don't worry too much about the
details of how the libraries I use work. I try to have a good understanding,
but on the hardware level I don't care. There are too many types of hardware,
and it changes too quickly.

Well, I have to finish this now... Maybe I'll post more later. I'd like to
hear your response.

Matt Reece
matt DOT reece AT iname DOT com

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019