September 26, 2022, 07:36:11 AM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


Thoughts and ideas.

Started by Ionic Wind Support Team, May 27, 2007, 01:10:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ionic Wind Support Team

Now that I find myself with much more free time on my hands let's hear some ideas on moving the Aurora project forward,

1.  Demo programs you would like to see included.

2.  Specific tutorials that would be of interest.

3.  Additions to the class libraries you feel are missing.

4.  Etc...

Thanks,
Paul.
Ionic Wind Support Team

Bruce Peaslee

The help files need to be finished. We should approach a "Go Live" version.

There hasn't really been anything I can't do with Aurora, it's just that some of it is really hard.  :-\  What I would like to see is some of the existing classes made easier to use - like the tree view class.

I know next to nothing about the use of 3D, so a nice tutorial on that would be useful.

I'll review some of my old projects and see if I can suggest anything else.
Bruce Peaslee
"Born too loose."
iTired (There's a nap for that.)
Well, I headed for Las Vegas
Only made it out to Needles

Steven Picard

Good to see Aurora back on track!

pistol350

i am ok with Bruce .
I also would like to see the improvement of the actual Aurora user guide.
With more sample codes and detailed information about the use of many commands ...
In a nutshell ,just like the Ebasic one. :)
Regards,

Peter B.

Todd Riggins

C/C++ Style Macros. a bit easier to deal with dx with... and for other stuff too :)
Brought to you buy: http://www.exodev.com

John S

method and operator overloading
John Siino, Advanced Engineering Services and Software

Zen

June 03, 2007, 11:22:16 AM #6 Last Edit: June 03, 2007, 11:24:44 AM by Zen
Yeah overloading would be very cool. Perhaps static classes too

Lewis

EDIT: ...and static methods ;)

J B Wood (Zumwalt)

My vote is on statics (class and methods)

Bruce Peaslee

As a Moderator Of this forum, I should probably know better:  :-\  but what is a static class and a static method? (I know what a static variable is.)
Bruce Peaslee
"Born too loose."
iTired (There's a nap for that.)
Well, I headed for Las Vegas
Only made it out to Needles

J B Wood (Zumwalt)

A static method is available without creating a new instance of the class.
public class hello
{
   public hello(){}
   public static void doSomething(){}
}

I mistyped earlier though, I meant static method and static members, not static classes.
Sometimes I get ahead of myself in typing.
Been one of those weeks, trust me.

Brice Manuel

July 01, 2007, 10:24:58 AM #10 Last Edit: July 01, 2007, 10:35:23 AM by Brice Manuel
Quote from: Paul Turley on May 27, 2007, 01:10:16 PM1.  Demo programs you would like to see included.
Several of the EBasic examples would be helpful if they were converted to Aurora and included with it.  The ones that come to mind are:  sizing a console window, setting a 2d windowed screen by client size, the asteroid example would also be helpful as it gives an excellent example of timing.

Quote from: Paul Turley on May 27, 2007, 01:10:16 PM4.  Etc...
For syntax highlighting in the IDE, it would be nice to be able to change the colors for things like: +  ,  ;  <  >  -  (  ) 

(I changed the white background to something easier on my eyes and it is really hard to see those characters/symbols with their default coloring.)


Brice Manuel

Quote from: Brice Manuel on July 01, 2007, 10:24:58 AMFor syntax highlighting in the IDE, it would be nice to be able to change the colors for things like: +  ,  ;  <  >  -  (  ) 

(I changed the white background to something easier on my eyes and it is really hard to see those characters/symbols with their default coloring.)
Could you also consider this as a feature request for EBASIC's forthcoming scintilla based IDE?

sapero

Would be great to have
[x] a option to pass undeclared symbols to the assembler, like this:

#emit %define blah 5
#emit %define eval(a,b,c) ((a)+(b)/(c))

int a = ecx; // symbol 'ecx' for the parser is undeclared; output: mov dword [ebp-offset], ecx
int b = blah;
int c = eval(1,2,3); // symbol eval is undeclared too; output: mov dword [ebp-offset], eval(1,2,3)


[x] Additional checkbox in project/build options that automatically defines UNICODE macro for all compiled files + different startup libraries (entrypoint _wmain).
[x] More speed :) Maybe precompiled header ?
[x] cdecl function defined as name(...) requires at least one parameter, and doesn't accept typed pointers passed directry from functions (variable expected).
   name(int x, ...) requires at least two parameters
[x] optional parameter names in extern/import declarations: declare import blah(int, string); + optional ',' after 'import' :)
[x] a dropdown menu with user tools in the IDE
[x] hexadecimal quadwords 0x12345678abcdef90

efgee

July 11, 2007, 12:14:27 PM #13 Last Edit: July 11, 2007, 12:19:41 PM by efgee
As a beginner with Aurora (not programming) I have to say that I'm a little bit disturbed about the wish to turn Aurora into another C++.

If Aurora feels more and more like C++ why should people buy it?

They can get C++ for free (or C# - or the D programming language).

IMHO if Aurora should survive it needs stuff that others miss in their language, collect good stuff from different language into one, with a thought through syntax (not one with bandages like C++).


This said the discussion should not be what should be implemented from C++ next (I get the feeling that some people want that), but what would make Aurora appealing to others.

Please let me explain:

IMHO one thing that is needed is a more straight forward syntax.

With this I mean, if there are different ways of doing the same thing - choose one, stick with it and do not allow the other one .
If you allow different coding syntax to get the same it's not appealing, it feels like C++ - a hybrid language with no real soul (bandages are everywhere).
The language doesn't have special character or feeling when working with it.

It's just one of many languages that come and go, and the user base will stay small (no money generated).

As an example:
Went through the help file on the weekend and saw 2 different methods for "Member access operator".

This one:
point *pt = NEW(point,1);
pt->x = 10;
pt->y = 20;


And this one:
point *pt = NEW(point,1);
*pt.x = 10;
*pt.y = 20;


It's also mentioned that the first one is the PREFERED method (but it only works for typed pointers).

When untyped pointers are used the first one doesn't work, you need to code it that way (type casting):
void *pt = NEW(point,1);
*(point)pt.x = 10;
*(point)pt.y = 20;


So why not disregard "->" at all and only allow the second method (with "*" and ".") which makes the syntax much more cleaner because it always works (with typed and untyped pointers) and looks always the same, and gives the language his own character?


As a side note:
have you ever noticed that most languages with C style syntax are available for free (C, C++, C#, D...) and languages like PureBasic make it?
The creators of PureBasic even raised the cost of the product and peoples are still buying it...

Please guys/gals don't look at my post in a negative way, just want to make the programming languages that I own survive.

BTW:
Emergence has the same issue. Example: "ENDIF" and "END IF" are allowed which is really bad.
The Germans have a saying for things like that: "It's neither fish nor beef" 

So nobody wants it.



Brice Manuel

QuoteIf Aurora feels more and more like C++ why should people buy it?
They can get C++ for free (or C# - or the D programming language).
Most would buy it just to avoid the >25MB runtimes in the latest versions of MS's C++/C#  ::)

D?  The first official stable release was only released in January of this year.  It has hardly had time to even gain a share of the market despite its dedicated userbase.  Aurora hasn't even had an official 1.0 release yet.

Quoteand languages like PureBasic make it?
PB is a great language but has always suffered from feature creep.  New features are continually being introduced and existing bugs are not being fixed.  New versions habitually break existing code, and are incompatible with existing libs.  New versions also habitually break things that worked fine in previous versions.  Its crossplatform, but the compatibility is not there.  The platforms PB versions are not kept up to date with each other.  Heck, the Mac version of PB still does not natively support the Intel processors, even though Macs have been using Intel processors for two years. 

Compare the stability, reliability, and compatibility and lack of bugs between PB and Aurora/EBASIC.  The winner(s) will be easy to spot. 

There is not an indie language on the market that can touch Aurora or EB when it comes to stability, reliability, and compatibility and lack of bugs.  These qualities are what determines whether a language is "professional", not the list of features.

QuoteEmergence has the same issue. Example: "ENDIF" and "END IF" are allowed which is really bad.
To me, this is a good thing, as some people may be used to one way or the other, and since both work, its easier for them to use whichever they are used to.

As you have probably noticed, Paul is open to expanding the languages.  EB saw OOP implemented in one of the last versions at a users request.  Over the years I have seen Paul implement numerous user requests and go out of his way to help people on the forums who were struggling with something.

I don't think we need to worry about Aurora or EB going away anytime soon.

efgee

July 11, 2007, 01:36:09 PM #15 Last Edit: July 11, 2007, 02:16:19 PM by efgee
Regarding D:
D is already on place 14 of the "Programming Community Index" list.
http://www.tiobe.com/tpci.htm
And one of the points why D is preferred is because of the clean syntax.

Where will Aurora be 6 month after it's V1.0 release?


Regarding C/C++:
GCC doesn't have 20+meg runtimes.

Even with the .NET runtimes, all new computers come with Vista and I suppose the majority of users have already .NET on their XP-computers because some programs need it. Specially if you look at the footprint of popular games, 20meg is almost nothing...


Regarding PureBasic:
Sure PureBasic has it's downsides too, but the creator of PureBasic is able to live off the sales. He did so for years already.
Now he is working in a company but only because he misses to interact with peoples (coworkers) instead of sitting in his office and be lonely.

Paul can only dream about living off his sales. He tried this for years, first with Pyxia and now with Ionic wind.
If it doesn't work out (and it doesn't) something has to change. IMHO users that don't accept that don't do Paul any good.


Look at RapidQ: William Yu stopped working on it around August 2000 when he got hired by RealBasic.
There are still tons of users out there, still active in their forums.
RapidQ's syntax has his own rules, but is clean.

Look at XBasic: the forum is still active and the language is not developed anymore since 2000.
XBasic's syntax has also his own rules, but is clean.

And I don't think that these languages live on because they are free.
Some RapidQ refugees even buy HotBasic just to have a up to date compiler.


That's why IMO the goal of Aurora should be to generate more money for Paul, this way he can do what he loves: working on compilers.
And the best way of doing this is to make this new programming language attractive to others and with that get new users.

And with that I'm back on topic: Aurora's syntax (and Emergence):
IMHO inconsistent syntax is bad for a new language. "It's neither fish nor beef"

Sure some old users love it, because they don't need to adapt to a new CLEAN syntax.

A new programming language needs good functionality and a CLEAN syntax with excellent readability.
This way it's able to stick out of the crowd and get new users.

SnarlingSheep

Quote from: efgee on July 11, 2007, 01:36:09 PM
all new computers come with Vista..
All new computers do NOT come with Vista, if they did, I wouldn't have even gotten an OS with the laptop I just bought as I won't use Vista.

Mike Stefanik

Quote from: efgee on July 11, 2007, 12:14:27 PM
have you ever noticed that most languages with C style syntax are available for free (C, C++, C#, D...) and languages like PureBasic make it?

I think you're just going to have a broader appeal with BASIC like languages. For many, the syntax in C is just plain cryptic, and C++ and C# compound that. I started programming in C primarily because I had to (I started out my professional life as a UNIX programmer); before that, in college we were learning FORTRAN and my "transition language" was RatFor. Personally I love C/C++, I've been working with it for decades now. But I still understand how some programmers just consider it to be mind-bendingly complex and have no interest in learning it if they don't have to. Doubly so for folks who program as a hobby, not for a living.

As someone who mostly uses C++ and C# in his work, I do like Aurora. I think its biggest potential is as a kind of bridge language, giving folks the best of the procedural and OOP worlds. If it included tighter COM integration, a broader class library and a visual designer that made it even easier to create GUI applications, then you'd have a really fantastic development tool. Not as convoluted as C++, not the overhead inherent in the C# and the .NET Framework, yet familiar enough to C/C++ programmers to be enjoyable to use and have a low learning curve.

The real question though is would it sell enough to justify Paul's efforts? If anything has been shown over the past year or so, EBasic is vastly more popular and BASIC languages are his "bread and butter" products. So I imagine it's ultimately a business decision. I'd love to see more come of Aurora, but I also completely understand that if there's money to be made, the odds are it's more likely to be with EBasic. I doubt that making syntatical changes to Aurora would have any effect on that.
Mike Stefanik
www.catalyst.com
Catalyst Development Corporation

Bruce Peaslee

I don't have a problem with Aurora's syntax. I think it's simple. I guess it depends on what you are used to. I have been programming almost exclusively in Aurora since it came out, and now I have a hard time with some of the EBasic programs here on the Forum.  ;)

I like the ' -> ' syntax as it reminds me of an assignment statement. I think it enhances readability (at least for me).

But you also need the *(point)pt.x = 10 syntax because of the way the Windows API is constructed.
Bruce Peaslee
"Born too loose."
iTired (There's a nap for that.)
Well, I headed for Las Vegas
Only made it out to Needles

Ionic Wind Support Team

efgee needs to take the Aurora course before passing any judgements.  There are reasons that both C++ and Aurora have an * and -> operators ;)  Especially since the -> is primarily used for class method access, it is an OOP language afterall.

There is nothing inconsitant about it and both are needed.

I don't have .NET on my development machine, and I have been an XP user since 2001.  I don't have mono on my linux box either as I have no need for it.  In fact it kind of disgusts me, but that's a subject for a different topic.  Along the same lines as WINE is actually bad for Linux since it doesn't promote native software development.  And Linux needs more programmers that are interested in application development, and not OS core development.

Anyway I am not trying to live off either language at the moment.  If you have been following along I started my new job recently.  I like the work, it pays enought to keep the wolves at bay, not enough to get rich of course.  But I have accepted my situation for what it is.  I have had three employers in a span of two years and won't get caught blindsided this time.  Working a lot of overtime while I can and trying to save enough to get the dog her surgery.

I may not be a prophet, but even I can see the light.  There isn't an indie language out there that is making their authors rich. Emergence BASIC had its initial rush during the first two weeks, those were all of the IBasic users jumping on it.  Since then it hasn't been any better or worse than Aurora in sales.  Not enough to justify my time for sure, I don't think it would be enough for most teenagers for that matter who could make more with a paper route ;)

The languages will survive in the short term.  As for the future, only heaven knows.

Paul.



Ionic Wind Support Team

efgee

OK, gals/guys I let it go for now  ;D
Maybe I need to get more acquainted with Aurora.



If you want to add some special features to Aurora what about contract programming.

D has IN and OUT contracts that are only active in debug mode like:

long square_root(long x)

  in {
    assert(x >= 0);
  }

  out (result) {
    assert((result * result) == x);
  }

  body {
    printf ("inside body \n");
    return cast(long) std.math.sqrt( cast(double) x );
  }


If IN or OUT is used a BODY keyword needs to be used.

The BODY keyword is somewhat strange thats why for Aurora I would propose something in the line of:

long square_root(long x)
{
    print ("inside function \n");
    return x * x ;
  }

long square_root:in(long x)
{
    assert(x >= 0); //there is probably no assert in Aurora
}
long square_root:out(result)
{
  assert((result * result) == x); //there is probably no assert in Aurora
}


There is probably no assert in Aurora, anyway it's a stupid example anyhow...
And I don't know yet if the colon is also used.

But you get the idea of contract programming.


Brice Manuel

QuoteD is already on place 14 of the "Programming Community Index" list.
http://www.tiobe.com/tpci.htm
And I am supposed to get all excited because?  What validity is even given to that list?  And who is giving it that validity?

QuoteAnd one of the points why D is preferred is because of the clean syntax.
Preferred by who?  It appears its only preferred by D users?

QuoteWhere will Aurora be 6 month after it's V1.0 release?
I can't tell the future.  If I could, I would have invested everything I had in Halliburton stock as soon as Bush and Cheney were elected in the fall of 2000.  If you want to know, you will have to wait and see after Aurora is released.

I can guarantee Aurora will not do what D has done six months after release and resort to a Microsoft gimmick versioning sheme just to get attention and promote the facade of the language being more advanced than it really is.  You will not see Aurora 2.0 released six months after its official release.  It just doesn't work that way.  I haven't seen anything so stupid and dishonest since MS was jumping entire version numbers just to make Word appear equal with WordPerfect.

QuoteGCC doesn't have 20+meg runtimes.
And this means what?  MS's C++ line is still the industry standard and what is most widely used.  I thought we didn't want to talk about indie C++ clones?

Quoteall new computers come with Vista
Where did you hear that?  Major computer manufacturers have had to put XP SP2 and XP Media Center back on new machines because nobody was buying the Vista versions and they were wanting XP.

QuoteI suppose the majority of users have already .NET on their XP-computers because some programs need it
.No, most people don't.  I have four XP machines and .NET isn't and won't be on any of them.  For all the pushing, what .NET based software has MS released?  On Vista, isn't .NET only used by Microsoft Management Console (MMC) and Media Center?  .NET was the API that was supposed to be a revolution for the industry.  Vista was supposed to be based on it.  It turns out .NET sucks so bad that MS themselves won't even use it for their software.  That in itself speaks volumes. 

I won't mention that for .NET 3.0 all Microsoft did was take the components of .NET 2.0, add WCF and WPF and rename it .NET 3.0

QuoteSpecially if you look at the footprint of popular games, 20meg is almost nothing...
You are comparing two different things.  People expect 20MB of media for a game, they don't expect >20MB of runtimes for a simple text editor.

QuoteSure PureBasic has it's downsides too, but the creator of PureBasic is able to live off the sales. He did so for years already.
Now he is working in a company but only because he misses to interact with peoples (coworkers) instead of sitting in his office and be lonely.
Yes that excuse for going back to a full time job sounds "nice", but I don't know anybody foolish enough to believe it.  PB suffered warez issues and the influx of new people on the forums (even those who don't post) slowed down before Fred went back to work.  For an honest person, the real reason is obvious.

QuotePaul can only dream about living off his sales. He tried this for years,
You are aware that the creator of PB lives in France?  People in the USA actually have to work for a living, they don't have the luxury of five weeks of paid vacation like people in France, nor the shortened work hours and work-weeks.  You also can't compare Paul to Fred, as Paul is a grown man, has a wife and kids to support.

Quotefirst with Pyxia and now with Ionic wind.
Yes, Pyxia was one of the many victims of Idigicon, quite an extensive list last time I checked.  Pyxia finally died because Paul sold it to an imbecile who was looking for a tax write-off or perhaps it will eventually be used to finally give a 32bit compiler to PowerBASIC.

QuoteLook at RapidQ: William Yu stopped working on it around August 2000 when he got hired by RealBasic.
There are still tons of users out there, still active in their forums.
Look at IBasic and IBasic Pro.  There are still many dedicated users out there still active in its unofficial forum.  With IB's stability, reliability, compatibility and lack of bugs, they will keep using it for a long time.  Perhaps Vienna might change that, but we have a long time to go until then.

The way Auroa and EB stand now, they are like the IBs.  As they exist now, we can be using them for many, many years to come due to their stability, reliability, compatibility and lack of bugs.  The userbase won't be going anywhere soon.  If they get their Linux ports, I think we would see a new influx of users.

QuoteI don't think it would be enough for most teenagers for that matter who could make more with a paper route
No doubt, only adults around here (no teens allowed) and they make around $30,000 per year for less than two hours of work per day and that is for a relatively small paper out of Annapolis.

Rock Ridge Farm (Larry)

I came to Aurora for the eventual Xcompile capability. I want to write code and compile for Linux or Windows on the same box.
Once Aurora or Ebasic gets to this point we will have a winner.

Steven Picard

Bruce, just like people are telling efgee not to knock Aurora until he's learned I think you should do the same for D.  D is a great C++ replacement but it is different than Aurora.  Aurora is a hybrid with some BASIC qualities while D is the improvement to C++ so many have wanted.  I think D has some really great stuff in it.

I agree with Mike Stefanik entirely.

My harsh but honest opinion:  Paul will see little reason to invest further development into either language.  He can make more money with overtime.

Steven Picard

I wanted my opinion about adding Linux support.  I bet if it was added it would only impress a hand full of people.  I have seen other languages do the same but it does them little good in the long run.  It seems to only complicate development time for the author(s) of the language.