Author Topic: a case for architectural change in oxygen?  (Read 19931 times)

0 Members and 3 Guests are viewing this topic.

kryton9

  • Guest
Re: a case for architectural change in oxygen?
« Reply #45 on: August 05, 2012, 11:10:13 AM »
Aurel, yes it all works as you say. But it is old stuff. Not set for the future or a foundation for complex projects.

What I am saying is use c++11 for foundation of Oxygen. And actually to use a cross platform api instead of windows outdated 1980's c code. You can't believe how much nicer life is in this new world. You as an end user will not see C++, I understand you don't like it. But Charles and others who might then work in c++ can give you a BASIC set for the future. Write your code in the new Oxygen Basic, compile the same code in Windows, Linux, Mac or other devices that come up.

We can name this new BASIC, SuperBasic, or better yet superB. Superb means http://www.merriam-webster.com/dictionary/superb
: marked to the highest degree by grandeur, excellence, brilliance, or competence

Or O2superB  :)

kryton9

  • Guest
Re: a case for architectural change in oxygen?
« Reply #46 on: August 05, 2012, 11:20:23 AM »
Charles, Nokia sold off the commercial version of QT to another company. As you know Microsoft bailed out Nokia and I am sure they did not want a company they invested in writing a cross platform api that was a commercial product. The one at Nokia now is OpenSource. If they no longer can keep the OpenSource QT, then it goes by default to KDE which has made and contributed a lot to this opensource Qt.

You can read more here. I did and felt comfortable then in working in QT and not being left out in the cold.
http://www.kde.org/community/history/qtissue.php

Peter

  • Guest
Re: a case for architectural change in oxygen?
« Reply #47 on: August 05, 2012, 11:33:51 AM »
Quote
However if Oxygen really goes to only C++ OOP direction i will give up.
 

Me too, too much c++ crap isn't good for our nerves. We want BASIC & API.
C++ and Linux are the evil.   :D

kryton9

  • Guest
Re: a case for architectural change in oxygen?
« Reply #48 on: August 05, 2012, 11:58:15 AM »
Peter, c++ is not OOP only, it supports both flat and oop. So Oxygen built on it would be the same way. You not have to deal with winapi old c code anymore. You will have nice basic syntax to a cross platform api that can run on all major platforms.

kryton9

  • Guest
Re: a case for architectural change in oxygen?
« Reply #49 on: August 05, 2012, 11:59:45 AM »
Here is a series of nice results gtk+ vs qt 2012. I am going to read through them. I did not play with gtk+, and just a little with qt. So reading these few top posts should be enlightening.
https://www.google.com/#hl=en&safe=off&sclient=psy-ab&q=gtk%2B+vs+QT+2012&oq=gtk%2B+vs+QT+2012&gs_l=hp.3..0i30l2j0i22.3034.9077.2.9227.11.11.0.0.0.0.206.1283.2j6j2.10.0...0.0...1c.kKm8JXx0oxI&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=3caf70095441cb5a&biw=1920&bih=947

kryton9

  • Guest
Re: a case for architectural change in oxygen?
« Reply #50 on: August 05, 2012, 12:08:24 PM »
http://www.wikivs.com/wiki/GTK_vs_Qt

This along with many others say QT. I saw one for GTK, mostly because of gnome on linux and lighter download time for GTK apps in these distros, this is not important for cross platform.

jcfuller

  • Guest
Re: a case for architectural change in oxygen?
« Reply #51 on: August 05, 2012, 12:54:25 PM »
Personally I prefer native windows on windows not Gtk.
I vote for wxWidgets or IUP

James

Aurel

  • Guest
Re: a case for architectural change in oxygen?
« Reply #52 on: August 05, 2012, 01:20:37 PM »
I agree with James,native api for windows
and yes wxWidget looks far ative and better on windows.

Charles Pegge

  • Guest
Re: a case for architectural change in oxygen?
« Reply #53 on: August 05, 2012, 02:09:07 PM »

I am not evil enough tonight to dream up a really bad macro, Aurel. :)

You can use a macro as an alternative to a callback function.

macro keyboard()
case wm_keydown
   ...
case wm_char
  ...
end macro


This can be used to expose part of wndproc to the user, up-front. A large WndProc can thus be split into manageable sections: keyboard, mouse, timed-events, resize etc.

Charles

Charles Pegge

  • Guest
Re: a case for architectural change in oxygen?
« Reply #54 on: August 05, 2012, 02:46:34 PM »

I get the impression, Peter that like you, B Stroustrup is rather horrified at much of the code written with his language. His presentation is all about efficiency, safety and clarity - code that can be easily read and modified. He is by no means an idealog for OOP, and discusses the inappropriate use of Inheritance, protected members, getters and setters. (Perhaps he had Java in mind :) )

My initial aim is to make a C back-end available. The output does not have to be friendly to programmers.

Still a big headache developing for Android and other mobile devices. These systems are tightly stitched up with an IDE, a large SDK and an emulation system, which I think would be hard to penetrate to gain any advantage using Basic or other foreign language. All I see at present is system lock-in. Maybe this will change eventually.

Charles

Aurel

  • Guest
Re: a case for architectural change in oxygen?
« Reply #55 on: August 05, 2012, 09:30:01 PM »
Quote
I am not evil enough tonight to dream up a really bad macro, Aurel. Smiley

You can use a macro as an alternative to a callback function.

macro keyboard()
case wm_keydown
   ...
case wm_char
  ...
end macro


This can be used to expose part of wndproc to the user, up-front. A large WndProc can thus be split into manageable sections: keyboard, mouse, timed-events, resize etc.

Charles

Thanks Charles ...
belive me i really don't know what is purpose of macro...
If this can be used like you say,this is very good option for me.. :)
I will try make some tests....

Aurel

  • Guest
Re: a case for architectural change in oxygen?
« Reply #56 on: August 06, 2012, 07:30:03 AM »
Is macro a set of functions or something else?
I haave search trough all examples and cannot find any good example
about how create macro and how to use it?

Charles Pegge

  • Guest
Re: a case for architectural change in oxygen?
« Reply #57 on: August 07, 2012, 12:12:33 PM »
A macro is any construct that performs symbol substitution.

There are actually 4 varieties in OxygenBasic

%
#define
def
macro


macro()..end macro is probably the easiest to use, closely resembling a normal procedure (with params) in definition and invoking.

Unlike in many languages, they can be nested anywhere for local scope.

I don't have much on macros in one place but I will probably use the examples/MetaProg folder

Charles

kryton9

  • Guest
Aurel, Peter you guys need to watch this when you have time
« Reply #58 on: August 07, 2012, 05:16:39 PM »
Here is another reason for Qt as the foundation. Here is an awesome presentation running on a Raspberry Pi Arm computer, 40 Euros in cost.
Look at what can be done with modern apis in real time. We will never progress if we stick to what feels comfortable and not forge ahead.

I hope this video gives you guys some encouragement.
http://www.youtube.com/watch?v=0j-Wakm5B84

efgee

  • Guest
Re: a case for architectural change in oxygen?
« Reply #59 on: August 07, 2012, 10:12:49 PM »
What a coincidence:
I've ordered my RaspberryPi last week  ;D

Thanks for the video, impressive stuff  8)