Amiga.org

Amiga computer related discussion => Amiga community support ideas => Topic started by: Cammy on July 17, 2011, 11:34:37 PM

Title: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on July 17, 2011, 11:34:37 PM
Hi everyone. Would you like to learn, brush up on, or teach Amiga programming? AmigaE and PortablE are excellent programming languages for the Amiga, and many top quality applications and games have been written in this language. I am learning to program in it myself, and so are a few others, while some of the more experienced coders help out by teaching us and explaining how things work.

We have regular meetings around this time (check the time I posted this and it should show the appropriate time for your time zone) every Sunday/Monday (check the date of my post, it's Monday for me in Australia but Sunday still for SamuraiCrow). Our meetings are in the #Amiga channel on the Freenode IRC network.

If you're online at the moment and would like to join in, learn to program and chat about some development projects, please drop by!

AmigaE (http://irc://irc.freenode.net:8001/AmigaE)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: giZmo350 on July 18, 2011, 02:23:53 AM
Thanks for the invite Cammy! I will surely check this out. I'm an old (very) Assembly programmer.  Rog.....
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: CritAnime on July 18, 2011, 02:46:22 AM
Cammy you are an angel. I will look into this when I get home because I am looking for a new project to sink my teeth into.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on July 31, 2011, 11:34:06 PM
Hi everyone! Just a reminder that our AmigaE game programming class is on again today, so join #AmigaE on irc.freenode.net now if you want to pick up some pointers or help out.

Thanks!
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on August 01, 2011, 12:52:22 AM
Quote from: Cammy;652438
Hi everyone! Just a reminder that our AmigaE game programming class is on again today, so join #AmigaE on irc.freenode.net now if you want to pick up some pointers or help out.

Thanks!

I don't code in E but it is a very beautiful and logical language.

So I am with you in spirit. :angel:
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on August 14, 2011, 09:18:44 PM
Thanks for the support, ChaosLord! :)

Our programming class is on again right now if anyone would like to join in. We're currently working on getting our adventure game library code to work in PortablE as well as AmigaE, so it can be compiled for Aros as well as classic Amigas.

Please join in if you're curious about learning one of the best languages for writing games and applications on the Amiga!
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: amigadave on August 14, 2011, 09:41:24 PM
Quote from: Cammy;654698
Thanks for the support, ChaosLord! :)

Our programming class is on again right now if anyone would like to join in. We're currently working on getting our adventure game library code to work in PortablE as well as AmigaE, so it can be compiled for Aros as well as classic Amigas.

Please join in if you're curious about learning one of the best languages for writing games and applications on the Amiga!

I am visiting my Grandson in Mountain View at the moment, but would love to attend your next meeting, so please let me know in advance, when it will be happening.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: amiman99 on August 15, 2011, 06:06:58 PM
I got AmigaE on one of the CU amiga cover disks, still have it, but I can't program for squat.
Anyway, there was a program written with AmigaE. It was a simple program showing "A1200" 3D logo spinning in the workbench background, do anyone knows where to find it? I'm looking for it for ages.
I hope someone knows what I'm talking about.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on August 16, 2011, 01:26:04 PM
@AmigaDave

I've been getting onto the IRC chatroom around 2PM Sundays CDT.  If you're on PDT that's noon on Sunday.

BTW, the orignal post says the #amiga channel.  That's incorrect, it's the #amigae channel.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on August 16, 2011, 02:26:36 PM
Is AmigaE a fully OO language like .net
 
Are there plenty of class libs to use for everyhting you need ?
 
is it it similar in syntax to C ?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: desiv on August 16, 2011, 03:55:51 PM
Quote from: JJ;654930
Is AmigaE a fully OO language like .net
 Are there plenty of class libs to use for everyhting you need ?
 is it it similar in syntax to C ?

Object oriented??  I hope not.. I got out of serious programming just before that became popular..
Let's google..

Quote
Amiga E is a combination of many features from a number of languages, but follows the original C programming language (http://en.wikipedia.org/wiki/C_%28programming_language%29)  most closely in terms of basic concepts.
Nice..  So far so good..

Quote
Amiga E's main benefits are  fast compilation (allowing it to be used in place of a scripting  language), very readable source code, flexible type system, powerful  module system, exception handling (not C++ variant)
Wow.. I like the sound of that..

Quote
and Object oriented programming (http://en.wikipedia.org/wiki/Object-oriented_programming).
D'oh!

:(  :lol:

desiv
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on August 16, 2011, 04:09:49 PM
Nowt wrong with OO and types are a part of that,  types are  classes are objects
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: trekiej on August 16, 2011, 05:19:54 PM
Is PortablE being covered?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: commodorejohn on August 16, 2011, 06:36:44 PM
Quote from: desiv;654938
Object oriented??  I hope not.. I got out of serious programming just before that became popular..
Well, the good OOP languages (i.e. C++) just have it as a delicious garnish on top of a perfectly suitable procedural language for easy, clean packaging of structs and their associated functions. It's the ones that try to force you into using classes for everything whether or not it suits what you're doing because this is an OOP language, dammit! that are to be avoided.

(Can't speak for how E is in this regard, but if it's C-based I'm betting it's pretty easy-going about it all.)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Thorham on August 16, 2011, 06:57:45 PM
Quote from: desiv;654938
Object oriented??  I hope not.. I got out of serious programming just before that became popular..
And what exactly is wrong with object orientation?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Fats on August 16, 2011, 08:49:13 PM
Quote from: JJ;654930
Is AmigaE a fully OO language like .net


It's OO but not like you know it. It is a OO language that is not type checking (that's also why I don't consider PortableE a real AmigaE implementation as it is type-checked).
Syntax is more like pascal than C, no curly braces but the use of the END keyword.

greets,
Staf.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on August 16, 2011, 08:52:19 PM
AmigaE is an OOP language.  We're just about to start covering inheritance soon.  There are some bugs in the way that some features are implemented in the emodule format so the class/hash.m module doesn't work right.  I'm working on a replacement for that in my spare time.  There are a few object-oriented classes in it for linked lists and so on but they aren't in a shared library.  In fact, the library mode of AmigaE is so borked that we won't be using it.

We're covering preprocessor macros also in an effort to make our emodule source work on PortablE as well as AmigaE.

@Thorham
OOP uses arrays of function pointers in order to implement inheritable methods.  They make those methods have more calling overhead than ordinary functions.  It's kind of like the way that the jump tables in shared libraries are slower than a normal function due to the calling overhead.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on August 17, 2011, 12:53:26 PM
But the adavantages of OO desing well outweigh that disadvantage.
 
As somone explained it to me recently, as I was not up on OO until I started working towards my MCTS is.   Things in world, things in brain, things in code.
 
Trying to understand UML properly at the mo and reading a book on it
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Amiga_Nut on August 17, 2011, 01:12:07 PM
How fast is AmigaE exactly?

Is it faster for hitting the blitter/copper than Blitz Basic 2.1? And if so by how much percentage wise are we talking?

I only ask because me and another member at A.org are in the very early stages of doing a new 3D (not real 3D...SEGA style '3D') shootemup and we had planned to use Blitz. Nothing much will happen until we both leave our jobs.

However we have also put together quite a sweet little algorithm for an 80s version of Oblivion style '3D' renderer too and may put this either into a 3D RPG or another game e.g. remake of a 2D C64 classic actually.

(PS both games will be released for free btw, with the option of donating to our cause if you like the games).
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on August 17, 2011, 02:29:21 PM
It doesn't have a hardware-banging "Blitz Mode" like Blitz Basic has, but you can bang the hardware if you have to.  The code generator should be comparable to Blitz 2 otherwise.

The main advantage of AmigaE is that the modules are reusable for many applications.  You can make system-friendly code really easily with it.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: commodorejohn on August 17, 2011, 03:56:10 PM
Quote from: Amiga_Nut;655044
However we have also put together quite a sweet little algorithm for an 80s version of Oblivion style '3D' renderer too and may put this either into a 3D RPG
Well this makes me tingly with anticipation :D
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Fats on August 17, 2011, 09:40:23 PM
Quote from: Thorham;654960
And what exactly is wrong with object orientation?


My major gripe with OO is that it often leads to overdesign by implementing unused methods to make APIs complete, very long inheritance chains etc. OO seems to really get the worst out of (some) mediocre programmers.
And if you look how many times programmers still reinvent the wheel, OO has not fulfilled it's promise of code re-usability either. Don't quote me on it but I think I once read it is inherent with OO and that generic programming is more fit for that.

greets,
Staf.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: desiv on August 18, 2011, 03:39:29 AM
Quote from: Thorham;654960
And what exactly is wrong with object orientation?
The fact that I got out of programming before it started, so I haven't used it.
:lol:

My wife spent a fair amount of time programming OO code (in Windows..  I know, and I still married her...  I'll get her using gcc on Linux yet!! :-), so I could always ask her for help.. ;-)

Might drive her crazy tho; as a programmer, I'm a great sysadmin.  :)

desiv
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Thorham on August 18, 2011, 06:08:52 PM
Quote from: SamuraiCrow;654974
@Thorham
OOP uses arrays of function pointers in order to implement inheritable methods.  They make those methods have more calling overhead than ordinary functions.  It's kind of like the way that the jump tables in shared libraries are slower than a normal function due to the calling overhead.
Yeah, I know, but I don't think function tables are a bad thing... at least not when calling overhead isn't very important.

Quote from: Fats;655115
My major gripe with OO is that it often leads to overdesign by implementing unused methods to make APIs complete, very long inheritance chains etc. OO seems to really get the worst out of (some) mediocre programmers.
And if you look how many times programmers still reinvent the wheel, OO has not fulfilled it's promise of code re-usability either. Don't quote me on it but I think I once read it is inherent with OO and that generic programming is more fit for that.
Yes, but why blame oo for what people do wrong when using oo? It's like blaming your new, sharp knife for getting yourself cut. Would you rather have a blunt knife that doesn't cut well?

Another one is using the right tool for the right job. Using oo for everything is like a carpenter usinmg a hammer for everything. It's just not going to work.

Quote from: desiv;655149
The fact that I got out of programming before it started, so I haven't used it.
:lol:
Then read up on it. It's not very hard to understand and can be very useful sometimes (but not always).
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: desiv on August 19, 2011, 04:18:03 AM
Quote from: Thorham;655230
Then read up on it. It's not very hard to understand and can be very useful sometimes (but not always).
I might, but with what I do, bash scripts (grep, sed, awk, etc) and sometimes perl and PHP handle most of what I need..
Sometimes I poke at C code..

But I'm thinking about it..

desiv
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Digiman on August 19, 2011, 09:08:03 PM
Quote from: commodorejohn;655064
Well this makes me tingly with anticipation :D


We still have quite a way to go to be honest before anything is coded but I think it can be workable, if only on A1200 not A500. Think Forbidden Forest 3D in the style of Sega late 80s Arcade hardware.

We're really excited about both our games :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Fats on August 19, 2011, 11:50:53 PM
Quote from: Thorham;655230

Yes, but why blame oo for what people do wrong when using oo? It's like blaming your new, sharp knife for getting yourself cut. Would you rather have a blunt knife that doesn't cut well?


No, but maybe OO is a two sided super sharp knife and most people should stick to using a sharp single sided knife ...

greets,
Staf.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: kamelito on November 09, 2011, 12:01:41 PM
hi,

Is the courses done in #AmigaE being archived somewhere for off-line reading?
I also like to know what the best choice between ECX, and PortablE. (I plan to use it under MorphOS)
Is it possible to write inline PPC assembler with them? Who's generating the fastest code?
Thanks
Kamel
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on November 09, 2011, 04:07:56 PM
I've started redoing certain aspects of the IRC sessions on ArosWorld.org in the PortablE forum.  The first example I've done is the bitset inventory example which shows how to do a 64-bit bitset in PortablE.

I didn't archive anything offline but will be doing some of the same examples that I did in AmigaE and porting them to PortablE on the forum I described above.

It is undesirable to write PPC assembler in most compilers because the only inefficiency to be found in the existing compiled code is the cache loading optimizations.  PortablE uses G++ (the C++ frontend for GCC) as its backend.  It should generate clean enough code for most uses.

I forgot to mention that I'm putting the Sunday evening IRC sessions on hold for now.  I'm tutoring a close friend in math at that time.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: nyteschayde on November 09, 2011, 07:06:58 PM
It is true that many junior developers write OO code, especially in Java, that has overly long inheritance chains, but junior developers make all kinds of mistakes. This is simply one of them.

I program in C, C++, Objective C, Java, PHP, Python, and web (i.e. HTML/CSS/JavaScript). I do so for a living and am considered a senior developer by my peers. What does this mean? This really means that I've worked myself out of making many of the junior level mistakes when programming.

Are there better developers than me? Hell yes.
Do I see them often? No.
Do I crave to meet and learn from them? Absolutely

For example, Karlos is a developer that I have spoken to many times on A.org and his ability and coding level usually make my head spin. He is VERY talented. I love learning from him.

How does all this pertain to OO? OO is good when used right. It generally can be a slower implementation though because any time you make the language easier for humans it becomes a bit harder for the computer. Most modern OO languages make the safe assumption that you're using a modern computer with modern programming power and therefore this extra overhead isn't much of an issue.

OO features can be leveraged on slower machines without much of a slow down as long as you don't go overboard and objectify every single possible idea in your code. There is quite a bit of reuse of code in my experience with OO design. The problem is, fundamentally, trust. Most programmers don't necessarily give trust to others code so easily. When it comes time to use another person's code, there is often a sinking feeling (when source isn't available) that bottlenecks, problems and poor implementations come from this black box code.

The amount of time saved by using many C++ STL classes for things like vectors, maps and strings over reimplementing the same thing (over and over again) in C is amazing. If I am trying to eek out the most possible performance from a game on a limited architecture (such as say an Amiga), then using C++ STL classes would have to be evaluated on a case by case basis (and obtaining the most performance would likely mean not using them).

There are several other factors such as executable size and memory consumption to consider. Modern languages can well afford to trade speed of development for heavier usage cost because most modern computers have an order of magnitude (or more) more resources to use. Don't blame OO code because it's not well suited to a machine that was built before OO was a term, let alone a popular one.


Quote from: Fats;655115
My major gripe with OO is that it often leads to overdesign by implementing unused methods to make APIs complete, very long inheritance chains etc. OO seems to really get the worst out of (some) mediocre programmers.
And if you look how many times programmers still reinvent the wheel, OO has not fulfilled it's promise of code re-usability either. Don't quote me on it but I think I once read it is inherent with OO and that generic programming is more fit for that.

greets,
Staf.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: bloodline on November 09, 2011, 11:56:15 PM
Quote
For example, Karlos is a developer that I have spoken to many times on A.org and his ability and coding level usually make my head spin. He is VERY talented. I love learning from him.

Karlos is by far a better programmer than I, and better chemist and musician too (we seem to have followed a similar life path in many respects)... But yet he can't come to terms with the beauty of Objective-C... That that forever will haunt him ;) honestly I feel sorry for his affliction :-p
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on November 10, 2011, 01:53:52 AM
It's a real shame you guys with years of programming experience don't actually code Amiga applications, the community would really appreciate it. I'm sure it wouldn't take you long, you guys seem to know so much. Is it because you have become so used to writing bloated code for modern systems that you don't think your brain could handle optimising the code for a low-end Amiga? Or is it because you're just greedy and only code for money? Where is your interest in Amiga now, other than posting like a bigshot on forums?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: gazgod on November 10, 2011, 02:19:37 AM
Quote from: Cammy;667206
Or is it because you're just greedy and only code for money?



In my case yup, but not greed, necessity.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: bloodline on November 10, 2011, 07:20:50 AM
Quote from: Cammy;667206
It's a real shame you guys with years of programming experience don't actually code Amiga applications, the community would really appreciate it. I'm sure it wouldn't take you long, you guys seem to know so much. Is it because you have become so used to writing bloated code for modern systems that you don't think your brain could handle optimising the code for a low-end Amiga? Or is it because you're just greedy and only code for money? Where is your interest in Amiga now, other than posting like a bigshot on forums?
In some respects you are right, but I can put it another way...

When I got my A500, I stopped programming my old Sinclair ZX81... I became used to the extra power the Amiga had and you could say my code became too bloated to run on the old Sinclair. Now we have computers that have more features and more power than the Amiga, as a programmer you want to play with the new toys, to experiment with new ideas and push the limits of what can be done... It is hard, though sometimes fun, to go back to the older machines and be limited by what can be done. Unfortunately there is a limit with any machine, and once you have explored that, it gets a little dull.

There is a little extra note for me through:
When I was younger, I used to dream of an Amiga 500 that I could carry in my pocket and take anywhere with me. Call me weird, but I wanted to run my software sitting in a forrest or by a river, there is a degree of freedom that is appealing... Modern smartphones give me that power and more... I haven't written anything for a desktop machine in years!

An interesting aside:
When my youngest brother asked me to teach him to program, I set up Blitz2 in UAE and gave him his first taste of code using the Amiga! Though we soon moved to JavaScript... Which actually gave him a better idea of modern languages and event based architecture. But the Amiga was a quick way to show him programming and get results, as you lose a 10year old very quickly if they don't see immediate results :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: kamelito on November 10, 2011, 10:38:53 AM
@Bloodline,

A bit offtopic but is your Iphone game doing well?
Kamel
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TCMSLP on November 10, 2011, 10:42:40 AM
I'd love to start programming on the Amiga but I've not touched C in years (I'd be essentially learning from scratch) plus I've never used OO languages.

Thanks to Cammy's contagious enthusiasm I've started looking at AmigaE, but the PortablE compiler on the latest AROS/Icaros seems to be broken so even this hasn't got me very far.

The last real programming (excluding bash/perl) I did was on the Amiga/ST in assembly language some 15+ years ago.  I also dabbled with Microchip PIC assembly a few years back - but a recent attempt at picking this back up has demonstrated how little I remember and how frustrating it is to 'start over'.  :(
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: nicholas on November 10, 2011, 12:19:14 PM
Quote from: Cammy;667206
Or is it because you're just greedy and only code for money? Where is your interest in Amiga now, other than posting like a bigshot on forums?

What wonderful social skills you have.

Has it occurred to you that most people have real lives that take priority over the deluded fantasies of unemployed dreamers?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on November 10, 2011, 02:14:33 PM
Sorry if I touched a nerve, bigshot, but I figure if people have the time to waste boasting on forums about how good they are at coding they could at least find some time to put their money where their mouth is and code something once in a while, whether or not they live real lives or delusional fantasy ones.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TCMSLP on November 10, 2011, 02:36:38 PM
I'm not sure people were necessarily boasting (more discussing?) but Cammy makes a very good point ... we have some great talented people as part of the community but very few people willing to invest time to develop on the platform.

I know what it's like though - I commute 1.5 hours each way to a 9-5 job, so out of the house ~11 hours a day.  The little time I do have I hit issues (like PortablE not working under Icaros) and the little time I have is wasted.

Such is life :(
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: nicholas on November 10, 2011, 03:09:07 PM
Quote from: Cammy;667237
Sorry if I touched a nerve, bigshot, but I figure if people have the time to waste boasting on forums about how good they are at coding they could at least find some time to put their money where their mouth is and code something once in a while, whether or not they live real lives or delusional fantasy ones.


Why should they?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on November 10, 2011, 03:30:33 PM
Quote from: TCMSLP;667242
I know what it's like though - I commute 1.5 hours each way to a 9-5 job, so out of the house ~11 hours a day.  The little time I do have I hit issues (like PortablE not working under Icaros) and the little time I have is wasted.

Such is life :(


The problems with Icaros are being addressed.  The problems with the beta version of PortablE that came with Icaros have been addressed as well.  If you're having trouble with PortablE, try downloading the latest version and installing it over the top of the existing install.  That will fix some of the issues.   The GUI issues have to still be fixed in Icaros 1.3.2 but I hear 1.3.3 should be out soon.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TCMSLP on November 10, 2011, 03:56:52 PM
Thanks SamuraiCrow - I'll give it a ago.  I wasn't criticising AROS though, merely using it as an example of how it's difficult to do anything useful when I have such little free time.

AROS + PortablE on the eeePC seem like a good commuting solution though :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: gazgod on November 10, 2011, 04:28:37 PM
Quote from: Cammy;667237
Sorry if I touched a nerve, bigshot, but I figure if people have the time to waste boasting on forums about how good they are at coding they could at least find some time to put their money where their mouth is and code something once in a while, whether or not they live real lives or delusional fantasy ones.


Lets turn your accusing compass around 180 degrees and ask what have you with the office, all Amigas and obviously all the time in the world have produced?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: bloodline on November 10, 2011, 04:38:24 PM
Guys, I think that I and gazgod adequatelly challenged Cammy's position wihout needing to resort to hostility. Play nice :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on November 10, 2011, 04:40:27 PM
Quote from: gazgod;667257
Lets turn your accusing compass around 180 degrees and ask what have you with the office, all Amigas and obviously all the time in the world have produced?


She's working on a TileMap editor in MUI using AmigaE.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: fishy_fiz on November 10, 2011, 04:46:04 PM
It's a conundrum. Typically people with great skills have acquired them through working with them day in day out. The problem there though is that the last thing someone wants to do after a hard days work is to go home and do the exact same thing.

It's a misnomor that coding is easy, even to those that do it day in day out. There's always something new to learn and research. AmigaOS coding is also more of a chore than for most systems being that development software is quite raw, as are its apis (a big part of why things like sdl are heavily used, even when its far from optimal).

The other side of the coin is that if a person has nothing but free time things can always be done tomorrow and people typically (myself included unfortunately) put things off because of that.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: bloodline on November 10, 2011, 04:50:10 PM
Quote from: fishy_fiz;667266
It's a conundrum. Typically people with great skills have acquired them through working with them day in day out. The problem there though is that the last thing someone wants to do after a hard days work is to go home and do the exact same thing.

It's a misnomor that coding is easy, even to those that do it day in day out. There's always something new to learn and research. AmigaOS coding is also more of a chore than for most systems being that development software is quite raw, as are its apis (a big part of why things like sdl are heavily used, even when its far from optimal).

The other side of the coin is that if a person has nothing but free time things can always be done tomorrow and people typically (myself included unfortunately) put things off because of that.
+1
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on November 10, 2011, 05:44:27 PM
I am no "Master" coder. I work on a IT dev team that mainly codes using a proprietary system. This actually makes my life a lot harder. Having to write XML handling code just using basic string functions. God that sfun.
 
I Spend over 12 hours a day out of the house, plus I am trying to fix up my flat to sell so me and the Wife can move closer to work.
 
Programming on the Amstrad and Amiga as a teenager was fun. After working all day I really can't be bothered.
 
I don't code for greed, I work in IT because I have bills to pay to survive.
 
A similar analogy to all this...Have you even see a mechanic in car that wasn't falling apart.
 
I like your enthusiasm Cammy, but I think like a lot of zealots it sometimes blinds you to real life.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TheGoose on November 10, 2011, 05:59:34 PM
@ fishy_fiz

Very true for me. I have bought old Amiga C programming books from e-bay and I have SAS C on my A3000. It is a challenge but fun at the same time, to program on the Amiga. Some of what I know from web development helps but it's still slow, with the time I give it.

My aims were to use Asteroids II by Mike Siefert as a subject to learn C on Amiga and maybe update it if things go well.

Well, so far I have been able to re-compile it and make small changes as experiments. It's slow cause I don't have a lot of left over energy for it. But I think I can learn a lot from that code.

He wrote a lot of impressive path finding code (AI) in there and it is hard to decipher. But it also reminds me of some FLASH game functions I have played with too. Lots of _x and _y math going on.

The ships are pretty cool, they are like objects:

/* player one ship */
shields = 10
speed  = 5
fire     = 2


Stuff like that, just parameters. There is some assembler code in there too, and know it's for speed but not sure what it does. So it's fun to hack and backwards learn with this. Wish I could play all day with that stuff.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Duce on November 10, 2011, 07:50:07 PM
No support to people that get pissy and pull out words like "greedy", "bigshot", etc when it comes to posts looking to fuel interest and boost community input.  Just an abhorrent approach.

Here in the real world, there's bills to pay.  Here in the real world, after a 12 hour workday, the last thing people "in the industry" that code want to do is be berated by people telling them "they aren't doing enough" (for an essentially extinct platform, albeit one I love).  We all apologize that we cannot quit our jobs to assist this project.  It's a hobby.  Relax, and quit being a nut.

That attitude sucks, and defeats the purpose of your absolutely well minded project.  Do you realize some "bigshot coders" here work 12 hour days, have hour long commutes each way, and 3 kids waiting at home for them?  Will berating them get them to hop onboard your project?  Quite the opposite.  With the economy over here in North America, some of the most talented coders on A.org might be flipping burgers at McDonalds, ffs.  See my point?

Same tantrum factory the Amiga scene was back in the 90's, sadly.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TheGoose on November 10, 2011, 08:35:57 PM
@Duce,

But you are doing everything you just told Cammy not to do. Maybe you should get a new "real life" or take a break from 12 Hr days?

Cammy is just with enthusiasm and impatience, don't think she means to be hurtful, really.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Duce on November 10, 2011, 09:13:41 PM
If the poster didn't mean to be hurtful or insulting, they wouldn't have reached out with backhanded spite that people aren't busting their asses to assist this project.  A project I sincerely hope does well, despite the fact it is of little interest to me since I only code in C these days and have little interest in games.  

My interests in the Amiga scene currently are solely in porting old 68k BBS software to OS4/MOS - you'd laugh me out of the building if I got indignant and asked for help while berating people in the process, wouldn't you?  Sort of a cutting off your nose to spite your face deal, no?

I do get your point, Goose - and apologize for not practicing what I would like to preach, but belittling the "talent" with terms like "bigshot", "boasting", and otherwise generally telling people they are not "DOING THEIR PART!!!11" is simply nonsense and will only hurt their project in the end.  A cruddy and patronizing attitude isn't going to teach people E, now is it?  I may have said what I said in an unpolished manner, but I stand by what I said and others will agree the guilt trip factor sucks.  You ain't gonna catch flies with vinegar - and it irks me when the coders here are having to defend themselves with things like "well after a long workday, I'll see what I can do!".  Real life is real life, it is what it is and hobbies come secondary.  Sorry to burst that bubble.

Some people cannot afford to "take breaks" from long workdays, I'm afraid.  People don't work, they can't feed their children, and all the romantic notions of revitalizing the classic Amiga gaming scene while berating people to work on community projects doesn't change that.  I had a problem with the attitude behind the slam against the community that seemingly was calling people useless, not the project itself in the least.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: fishy_fiz on November 10, 2011, 09:16:25 PM
@TheGoose

You beat me to it (pointing out that he's done the exact same thing he's scorning others for having done).

Everyone's entitled to a bit of a public frustration every now and again. I've seen (and done) much worse :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Fats on November 10, 2011, 09:16:30 PM
Quote from: nyteschayde;667172
It is true that many junior developers write OO code, especially in Java, that has overly long inheritance chains, but junior developers make all kinds of mistakes. This is simply one of them.


Unfortunately I am not talking about the juniors but about the professional OO die hards that are coming with huge class hierarchies with lots of methods to solve simple problems; and then redo everything once in a while to get things 'right'.
Of course I am exaggerating but the OO way of starting to implement something by drafting a class hierarchy with the methods using something like UML is IMHO asking for a project to become unnecessary bloated. I don't have anything against using OO as one of the tools to use during coding; I do have a problem with organizing whole development projects around the OO paradigm.

Quote from: nyteschayde;667172
How does all this pertain to OO? OO is good when used right.


Some tools are easier abused then others; I would claim pure OO is more to the wrong side.

Quote from: nyteschayde;667172
The amount of time saved by using many C++ STL classes for things like vectors, maps and strings over reimplementing the same thing (over and over again) in C is amazing.


IMO the power of C++ STL is the usage of generic programming (http://en.wikipedia.org/wiki/Generic_programming) and not the fact it is OO; e.g. the clever usage of the C++ templating system. I would claim a lot of code bloat could be avoided and more code could be reused if people would use more generic programming (=templating) and less OO programming (=class hierarchies+methods).

greets,
Staf.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Cammy on November 10, 2011, 10:14:31 PM
I'm sorry if I offended anyone, I was only being a bit cheeky with my challenge to a few people already posting here, it wasn't meant to be directed at randoms who haven't had enough sleep.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TCMSLP on November 10, 2011, 10:21:47 PM
Slightly off topic (but perhaps no more off topic than some of the above)...

How useful is Python under AmigaOS?  Does it 'just work'?  

Python seems to be available for both OS3.x and 4.x and is truly cross platform.   This would probably motivate me more as I could use this under (and develop under) Linux in addition to OS3/4/AROS..

I don't wish to distract from the 'E' discussions, but any development is good development ... right?  :)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: Duce on November 10, 2011, 10:25:58 PM
I've only played with Python a bit on OS4, but it seems very complete and I've had a lot of fun so far.

I've been trying to code a WWW interface that hooks in with my BBS to allow users to check their mail, msg bases, file areas without having to telnet in, similar to Synchronet BBS's full meal deal.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: commodorejohn on November 10, 2011, 10:30:45 PM
How does Python perform on the Amiga? Even on a multi-GHz PC, it's not exactly blazing fast...
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on November 10, 2011, 11:03:13 PM
Quote from: Cammy;667343
I'm sorry if I offended anyone, I was only being a bit cheeky with my challenge to a few people already posting here, it wasn't meant to be directed at randoms who haven't had enough sleep.
@Everyone

My apolgies.  This is all my fault.

I was using Cammy's character to test out my new controller that I got from AmigaKit.  I accidentally pressed A A UP B DOWN (or something like that) and Cammy just suddenly launched into this wild Cheeky Flying Kick of DEATH.  It has a really nice flame fx and inflicts a lot of damage but it seems to anger the opponents.  Oops my bad :D

To those of you who ended up with a Cammy Bootprint on your face, I am sorry.  Please just be thankful that I was controlling Cammy and not Franko the Warrior Scotsman.
:D
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: TheGoose on November 11, 2011, 12:04:29 AM
@ChaosLord   :lol:

@Duce

I hear you too. You know I made an observation about work and life, and it seemed to me that those who could do, were forever ask to do more.

While those who could not do, were ask to just try an do what you're doing. And try not to break anything.

Sounds like you're in the 1st group, unfortunately. :)

@Cammy, sucha little trouble maker...;)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on November 11, 2011, 12:49:09 PM
@ChaosLord Very funny dr jones
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: nyteschayde on November 11, 2011, 06:44:26 PM
Actually Cammy I have recently picked up my Amiga books and dusted off my copies of Cubic IDE and prepared a dev environment for my miggys. The truth is though I am still learning the AmigaOS specifics.

I think I could have something to offer but I just need time and time is a very precious commodity for me right now. I am interested in your AmigaE courses even though I am not very happy with the syntax for E.

A lot of it too is that on modern OSes, we have IDEs that are much more enjoyable to work with than what you get on the Amiga. That coupled with modern up to date documentation and a plethora of good working examples. It is simply much easier to program for modern systems (constricted environment aside).

When I program for iOS I have constricted environments to think about there too.

Quote from: Cammy;667206
It's a real shame you guys with years of programming experience don't actually code Amiga applications, the community would really appreciate it. I'm sure it wouldn't take you long, you guys seem to know so much. Is it because you have become so used to writing bloated code for modern systems that you don't think your brain could handle optimising the code for a low-end Amiga? Or is it because you're just greedy and only code for money? Where is your interest in Amiga now, other than posting like a bigshot on forums?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on November 14, 2011, 01:05:46 PM
Is CubiCIDE anyhere near modern Visual standards.  I.e  you design an interface/form and it builds up the require MUI Code for you?
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on November 14, 2011, 01:53:25 PM
Set HumorMode ON :D

Cammy inspired me to sing u all a song parody.

Either that or it was these new drugs the doc gave me. :lol:

Singing to Billy Joel's "Bigshot"

Well, you went online surfin to Amiga dot org
With your fine status symbol gizmos
You had the Apple iphone in your hand
And the FLAC up your nose
Ooh, and when you wake up in the mornin'
With your wallet empty
And your code too buggy for Wii
Go on and cry in your coffee
But don't come bitchin' to me

Because you had to be a big shot, didn't cha
You had to open up your mouth
You had to be a big shot, didn't cha
All your friends were so knocked out
You had to have the last word, last night
You know what everything's about
You had to have a white hot spotlight
You had to be a big shot last night

And they were all impressed with your coding finesse
And the great big size of your brain
And the story of your latest success
You kept 'em so entertained
But now you just don't remember
All the things you said
And you're not sure that you want to know
I'll give you one hint, honey
You sure did put on a show

Yes, yes, you had to be a big shot, didn't cha
You had to prove it to the crowd
You had to be a big shot, didn't cha
All your friends were so knocked out
You had to have the last word, last night
You're so much fun to be around
You had to have the front page, bold type
You had to be a big shot last night, Oh oh

Oh Oh whoa whoa oh, Oh Oh whoa who-oo-oo-oo-ah,
Oh Oh Oh whoa whoa oh, Oh Oh whoa.

Well, it's no big sin to stick your two cents in
If you know when to leave it alone
But you went over the line
You couldn't see it was time to go home
No, no, no, no, no, no

You had to be a big shot, didn't cha
You had to open up your mouth
You had to be a big shot, didn't cha
All your friends were so knocked out
You had to have the last word, last night
So much fun to be around
(LIVE VERSION ON 3RD CHORUS ONLY: "You know what everything's about")
You had to have the white hot spotlight
You had to be a big shot last night, Oh oh

Oh Oh whoa whoa oh, Oh Oh whoa.

Big shot … Big shot … Big shot … Mmmm … Big shot … Whoa whoa!
Big shot …

This is a work of true fiction.
Any similarity to actual Amiga.org users is quite possibly purely coincidental.

No anims were harmed during the filming of this skit.

:roflmao:
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: EDanaII on November 14, 2011, 02:29:48 PM
Quote from: JJ;667796
Is CubiCIDE anyhere near modern Visual standards.  I.e  you design an interface/form and it builds up the require MUI Code for you?


Sadly, no. Best you're gonna get there is using it with MUI Builder.  There was a project for AROS that showed promise bit I fear it was eaten by a grue.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on November 14, 2011, 02:48:46 PM
Quote from: JJ;667796
Is CubiCIDE anyhere near modern Visual standards.  I.e  you design an interface/form and it builds up the require MUI Code for you?
I think you want PowerWindows on Aminet.  It writes normal AmigaOS GUI code, not MUI.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on November 14, 2011, 03:39:32 PM
Quote from: EDanaII;667802
Sadly, no. Best you're gonna get there is using it with MUI Builder.  There was a project for AROS that showed promise bit I fear it was eaten by a grue.


MUI Builder has been bugfixed by Mazze, an AROS developer.  I've got commit privilages to MUI Builder also.  Do you have any bugs to report?  (Do you have any tips for MUI programming?  I could use those too.)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on November 14, 2011, 03:59:52 PM
Does MUI builder work on MorphOS ?  If so will try it out
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: J-Golden on November 14, 2011, 04:02:37 PM
Ok, I'm going to come out and just ask...

What is so great about MUI?!?!?!

When it first came out all I could see is that it made all my Icons purple and that if you wanted to use a program I PAID for from one person, I had to buy MUI first!!!

PS- I'm a hardware person trying to bridge into programming.  So yes, to quote Riddik, "Why don'y you pretend that your explaining to someone raised in the penal system.  In fact, don't pretend..."
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on November 14, 2011, 04:16:39 PM
Quote from: J-Golden;667819
Ok, I'm going to come out and just ask...

What is so great about MUI?!?!?!
MUI makes Windoze XP look completely trashed out.

And that makes MUI great.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: SamuraiCrow on November 14, 2011, 04:39:42 PM
Quote from: JJ;667818
Does MUI builder work on MorphOS ?  If so will try it out

It should.  It might generate obsolete code for MUI 4 though.  See here:  MUI Builder Project page on SourceForge (http://sourceforge.net/projects/muibuilder/).

--edit--
Be sure to hit "Browse all files" under the download link.  Otherwise, you'll get the AROS i386 version.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: nicholas on November 14, 2011, 04:52:42 PM
Quote from: JJ;667818
Does MUI builder work on MorphOS ?  If so will try it out

 http://teleinfo.pb.bialystok.pl/~krashan/software/chocolate/
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: EDanaII on November 15, 2011, 02:06:19 AM
@SamuraiCrow:
Quote
MUI Builder has been bugfixed by Mazze, an AROS developer. I've got commit privilages to MUI Builder also. Do you have any bugs to report? (Do you have any tips for MUI programming? I could use those too.)


Sorry, Samurai, but I wasn't clear. I've only lightly tried MUI Builder, I was simply suggesting to JJ that the closest he was going to come to what he wanted by using it.

Also, the other project I was refering to that "got eaten by a grue" was Ganymede, so I was refering to something "close to Visual Studio" as JJ was inquiring.

Finally, as I mentioned, I have lightly tried MUI Builder on Icaros and its bugs are glaring. Just try it. You can't miss it. :) (And if you do miss it, let me know and I'll send you a screen shot.)


@ ChaosLord:
Quote
I think you want PowerWindows on Aminet. It writes normal AmigaOS GUI code, not MUI.


Got a link for that? I went looking for it and the only thing I found was a tool that would allow me to move a window off the screen. I don't think that's the same thing. :)


@ JJ

Actually, thinking about it further, if you want a tool that comes close to Visual Studio, you might wanna try... Visual Studio. :) I do some of my Amiga tinkering on VS. While I don't get the visual interface for building a GUI, I do get the syntax highlighting, method tracking, refactoring and module location that you get with VS. Once again, in combination with MUI Builder, that might get you somewhere.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: ChaosLord on November 15, 2011, 05:37:50 AM
Quote from: EDanaII;667919
Actually, thinking about it further, if you want a tool that comes close to Visual Studio, you might wanna try... Visual Studio. :) I do some of my Amiga tinkering on VS. While I don't get the visual interface for building a GUI, I do get the syntax highlighting, method tracking, refactoring and module location that you get with VS. Once again, in combination with MUI Builder, that might get you somewhere.

Please explain me this "refactoring" concept.  What am I missing out on?!??
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: klx300r on November 15, 2011, 05:54:02 AM
one day when I have some spare time, which basically means when my kids are in universtiy and/or I retire and/or my wife stops adding to the 'todo list' I'll get into that programming book I bought back in 1993:laughing:

@ Cammy

It's nice to be young & full of enthusiasm so keep going strong with your plans and dreams and hope life doesn't catch up to you one day :-)
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: fishy_fiz on November 15, 2011, 06:11:06 AM
@J-Golden

It's not so much that its great (although most people tend to like it once they delve into it), just that it's become one of the defacto gui toolkits used for amiga os, and as such a lot of software uses it for thier gui functionality.
You can run it without paying anything still, just some of the more "advanced" options arent user defnable, and as such a person will be a little more limited with what they can customise to thier liking.
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: jj on November 15, 2011, 09:52:09 AM
Quote from: nicholas;667831
http://teleinfo.pb.bialystok.pl/~krashan/software/chocolate/

 
Forgot about that, will have to give it a try
Title: Re: Learn to program Amiga applications and games in #AmigaE
Post by: EDanaII on November 15, 2011, 02:21:04 PM
Quote from: ChaosLord;667933
Please explain me this "refactoring" concept.  What am I missing out on?!??


Refactoring (http://en.wikipedia.org/wiki/Code_refactoring) is the computer engineering concept that once you are done coding your program you're still not done coding your program. It's the idea that you go back to your code, make it more efficient, easier to read, simpler to understand.

In Visual Studio, it's expressed by the ability to rename variables across projects, extract methods or interfaces from classes, encapsulate fields, remove or reorder parameters.

Basically, you "clean up" your code.