Mail Archives: djgpp/1998/08/11/19:15:24
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 -