Welcome, Guest. Please login or register.

Author Topic: C++ on Amiga  (Read 21981 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: C++ on Amiga
« on: December 06, 2012, 10:05:39 PM »
Quote from: asymetrix;717799
Anyway we do need a C++ developer site, we need to code like the software houses so we can have tools that they can quickly use to compile to our platform.

We Amigans are stubborn and still love our assembler programming, this is why apps are so few - the world has moved on in OOP creating apps insanely quickly.
Assembler versus HLL doesn't really have as much to do with development time as people think it does. Bedroom coders used to develop games in assembler in the space of a few months. It's more about scale of the project and going in with a definite plan but knowing what to cut if the schedule slips - tooling really is secondary to good software-development practices.

Besides, 68k assembler is nearly a high-level language anyway, particularly with a good macro-assembler. (And C++, being C-derived, is a lot closer to being a low-level language than any other object-oriented language!)

Quote
with 1 ghz processors we can afford a performance hit, in return for portability a development speed.
That philosophy is the entire reason modern PC software is such a mess.

Quote
The industry standard is C++/C#/.Net we need to catch-up bigtime or we will never get all the great apps tools and Multiplayer games that our platform deserves.
.NET is a prime example. Whatever its actual merits, it's largely being used as a poor man's UI toolkit the way Visual Basic used to be - but where the Visual Basic runtime was less than a megabyte, .NET takes up hundreds. (And, of course, it imposes a speed penalty just like every interpreted language ever has done - and it may seem like nothing much on your 2GHz i5, but it'll add up pretty damn quick on even a 1GHz G4 system, let alone anything slower.)

C++ can be lightweight, in the right hands - .NET will never be. The Amiga community does not need to see software that could be broadly useful stuck behind the wall of a massive runtime which it probably doesn't even need a tenth the functionality of.

Quote
Amiga was known for its games - but our super fast chipset dependent assembly language is stuck in code rot, assembler is not portable, hard to update, the hardware is not portable its high time we start thinking about platform independent coding.

Not just code that has calls that are OS interdependent, but libraries and GFX layer and GUI also independent.
The last thing we need is to join in the gradual transformation of every damn program on every platform into a generic POSIX/Qt mess that fits equally poorly on every operating system and requires pack-in support libraries for everything past C stdlib functionality, in the name of "platform independence."

It's one thing to port platform-independent apps from other OSes for the sake of filling some need that isn't adequately filled by native software (browsers, for instance.) It's another thing entirely to suggest that we should no longer have native software. Abstracting away everything that is different on one particular target for the sake of having only one codebase leads to what is essentially running an entire operating system on top of the operating system.

Quote
In some cases our beloved datatype system is causing problems with porting HAM software or compression tools that use powerpacker for example.

Using datatype in apps stops porting of the app to windows for example, as no one knows how to create HAM modes / AGA export routines manually in code.

Look at windows paint packages all they possibly have is IFF/ILBM file format.
So, what, Amiga developers should hamper themselves and their users by eschewing any functionality that isn't supported on other operating systems? Why should the principal concern of an Amiga developer be "will Windows users be able to run this?" If another OS doesn't support features that the Amiga does, then boo-friggin'-hoo for the other OS.



If having all of your software work equally poorly on every platform because it's actually written for some mythical golden-mean target OS is so important, let me suggest that Linux already exists, sir.
« Last Edit: December 06, 2012, 10:09:21 PM by commodorejohn »
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: C++ on Amiga
« Reply #1 on: December 06, 2012, 11:41:35 PM »
Quote from: psxphill;717869
It's not interpreted, it's just in time compiled. You can even pre-compile it on desktop/server operating systems.
 
The code generation isn't the problem, it's the bad code that gets through because the bar has been lowered & made it easier for rubbish programmers to get jobs.
JIT is better than classic interpreted languages, yes. It still imposes a penalty, and it still makes zero sense in this age of free reasonable-quality compilers for every major architecture and most minor ones, especially when you're targeting a platform you know has one of two (maybe three) architectures.

You're right, though, that actually being a good programmer makes more of a difference. That's true in just about any case.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup