-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
2kaud
What would now be considered a suitable intro language? Looking at a dozen UK universities Computer Science course online perspectives, the most popular language seems to be Java, then Python. I only found one that taught c/c++ as a 1 semester 2nd year course. Javascript was also quite popular.
My first programming language (at secondary school early 1970s) was HP Time Shared Basic (TSB) which was based upon Dartmouth Basic. At University the main language used was Pascal - with Fortran77 and Algol68 also used. Cobol, Snobol and Lisp were also taught (1 semester on each).
I guess I don't know. I've never taken a course in any language, introductory or otherwise. When I was in HS, there were classes in BASIC and Pascal, though the teacher of the Pascal class didn't know much about it himself. In college...I have no idea what was offered.
I think people should start out in Rockstar.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
This also touches on something to connect with the point I was making about earlier about modern coding paradigms.
One of the things I've noticed is that us in the VB6 and earlier .Net communities are pretty unique in our love for drag and drop designers. But outside of our little bubble, the standard is to have UI logic and backend logic completely separate and only meet through well defined connection points. This is where the modern design patterns I was talking about earlier comes into play. These patterns help in designing very elegant ways of joining separate systems while providing maximum flexibility.
I'd take this in a different direction: Drag and drop IDEs are certainly easy to use, but they are also becoming increasingly problematic. Is there a drag and drop IDE for the web? Can there be? Web pages, if well written, have to be able to reasonably transform themselves to fit appropriately on a phone, a tablet (of various sizes), and a desktop. The best interface on each might be quite different. For example, what is a menu of pictures with text on a desktop could shrink to a menu of just text on a tablet, and to a drop down menu (or pop out, or fan fold, or something else) on a phone. Doing that via drag and drop seems like it would be impossible.
The closest IDE design that I can think of, which attempts to allow drag and drop for variable sized displays, would be XAML for Xamarin or WPF, and anybody who has used either of those knows that the drag and drop is such a trivial part of the IDE that it is forgettable. Now that I'm writing in WPF, I find that I write everything in the XAML and just don't use the drag and drop portion. The visual part of the IDE is there to see what I have, but all design is done in the XAML designer, which is just text (XML-like text, at that) for those who haven't seen it.
Basically, the drag and drop IDE of VB6, .NET, and just a few others, is really well suited for building desktop programs that will run on computers with a relatively narrow range of resolutions. They are best for interfaces that don't have to shift dynamically as the screen size changes radically, because they are for programs that aren't intended to run on radically different screen sizes and resolutions.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
The primary difference between classic VB6 drag/drop paradigm and modern UI paradigms implemented in things like XAML and HTML is that the latter is all about relative positioning and sizing. Everything is sized and positioned in relation to something else. Drag and drop designers cannot work with this requirement as it relies on absolute values for size and position. This is why the drag and drop features of the WPF designer goes unused. It screws up the UI because it applies absolute values to elements which fundamentally disagrees with WPF's layout engine. It can only be done in code. It's the same problem for HTML.
Quote:
Originally Posted by
Shaggy Hiker
Basically, the drag and drop IDE of VB6, .NET, and just a few others, is really well suited for building desktop programs that will run on computers with a relatively narrow range of resolutions.
I agree but even so, I still think flow-based layout engines are better even in this environment. I see so many layout based questions in the VB.Net section that make me think, "this would be so easy in WPF". Yet, I can't suggest it because of WPF's intimidating learning curve but once you get past that, it's well worth it.
All in all I still think there is a compelling argument for the older WinForms/VB6 drag and drop designer, it's just so damn easy to learn. It only becomes difficult when you try to do anything fancy.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
That reminds me of the old quote: For every problem, there's a solution that is simple, obvious, and wrong.
I wouldn't say that a drag and drop IDE is wrong, it just doesn't do well in all types of problems.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
The drag and drop designers in VBx *do* rely on absolute positioning, but there's no reason they *have to*.
For instance tB already has 'anchor' properties that can resize elements along with the form, relative to their margins in the designer (like most of us implement manually anyway).
You could easily allowing accepting % for measurements... i.e. Width = 50%. Could make a live previewer that shows it on different sizes...
I just don't see any scenario where it's easier to write UIs with no visual clues whatsoever. Good designers are frequently a source of complaints about what people think their language is missing.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
WPF has a visual designer with full drag and drop capability just like WinForms and VB6 but it's very ineffective because fundamentally WPF's layout engine is flow based like HTML. Elements are relatively positioned by default so when you start dragging and dropping controls, they just snaps into a random place, often where you don't want them to be because it cannot use the absolute co-ordinates from your drag and drop action. This makes for a very poor experience so we don't use that feature. We just write the UI code by hand, which by the way is far less painful than it sounds. In fact, I've grown to prefer this way of writing UIs. I no longer have to spend tedious seconds dragging and stretching controls on a Form in an effort to try and line them up perfectly. I just describe the layout in relative terms and get exactly what I want.
However, as you implied, an absolute positioning layout engine can be shoehorned into producing flow-based UIs. They are more flexible at the cost of some additional complexity. For example if you want to a make a flow-based UI in WinForms or VB6, you have basically do it by performing the layout calculations yourself. Properties like anchoring do help to make some of it easier but it can get really complex if you want anything too fancy.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
I'm really curious about it since there was so much fuss over it. However, I am terrified of ransomware. There are very few things in the world that frighten me more than the prospect of waking up one morning to find all the files on my HD encrypted so I avoid running EXEs from people or companies I know nothing about. That fear is far greater than my curiosity.
auto backup ,you need it.
two disk save same files
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Looks like download is available if you just increment the version from last time.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
Looks like download is available if you just increment the version from last time.
👍
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Looks like we missed a release this month...
RAD Basic 0.5.93 Pre-Beta 4 - Release Notes
RAD Basic Pre-Beta 4 release (0.5.93.0)
Pre-release of Beta 4 Notes: This is an early access to Beta version.
New
- [IDE] Added Show Logs and Collect Logs operations under Help Menu for troubleshooting problems.
- [IDE] Added formatting check in numeric values of Option Dialog and Project Properties Dialog.
- [IDE] Added configuration of editor's font and font-size.
- [IDE] Support to add/edit/save/remove BAS modules.
- [IDE] Support to add/edit/save/remove Class modules.
- [Compiler] Add support to #If…Then…#Else Directive (conditional compilation).
- [Compiler] Add support to #Const Directive (define conditional compiler constants).
- [Compiler] Defined RADBASIC, Win32 and Win64 const directives.
- [Compiler] Add initial support for IO (Open, Close, Line Input statements).
- [Compiler] Initial support of Class modules compilation.
Improvements
- [IDE] Remember last folder visited for saving new items.
- [IDE] Added more internal log to help troubleshooting issues.
- [Compiler] Improve managing of unexpected errors in runtime/usercode.
Fixes
- [IDE] Fix Clickable error in output window for syntax errors.
- [IDE] Fix bug in String syntax highlighting.
- [Compiler] Fix compiling process of projects with items (Forms, Modules, …) in different directories.
- [Compiler] Fix compilation of procedures without explicit visibility (public/private).
Known issues
- [IDE] Form Designer Grid: not drawn properly while user resizes form and some performance issues in certain edge cases.
- [IDE] FRX values (Icon, Pictures, ComboBox List, …) are readonly values in Form Designer, as there issues saving into FRX file.
- [Compiler] UDT only support basic types as members.
- [Compiler] Variant type is not supported.
- [Compiler] Option Explicit is mandatory. Source code without option explicit will be supported in followings releases.
Uh oh Wayne better watch out, at this rate it might be only 5 years instead of 10 before radbasic is at where tB is now :D
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
And another one, this time with.... well, nothing.
RAD Basic 0.6.0 Pre-Beta 6 - Release Notes
RAD Basic Pre-Beta 6 release (0.6.0)
Pre-release of Beta 6 Notes: This is an early access to Beta version.
New
- [Platform] New AutoUpdate module, easing stay updated. It is an experimental feature.
- [IDE] New Samples Explorer.
- [IDE] New Factorial sample featuring recursion.
- [Compiler] Add recursion support in functions.
- [Compiler] Check Option Explicit is on when compiles. Raise error if Option Explicit is Off, as it is not supported by compiler.
Improvements
- [IDE] Add missing icons in Form Layout.
Fixes
- [Compiler] Fix error in declaration of Sub/Function without explicit visibility (Private/Public keyword).
Known issues
- Installer and executables are not digitally signed because we are managing renovation of code signing certificate.
- [IDE] Form Designer Grid: not drawn properly while user resizes form and some performance issues in certain edge cases.
- [IDE] FRX values (Icon, Pictures, ComboBox List, …) are readonly values in Form Designer, as there issues saving into FRX file.
- [Compiler] UDT only support basic types as members.
- [Compiler] Variant type is not supported.
- [Compiler] Option Explicit is mandatory. Source code without option explicit will be supported in later releases.
Apparently monthly releases are to be their new norm.
tB hasn't had a release in 1.5 months now, but that's an massive aberration, usually there's dailies with more new features than this. My bet is back up to 8y for RB.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
Just for fun lets look at a more practical example:-
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dlg As New OpenFileDialog
dlg.Filter = "Text files|*.txt|All files|*.*"
dlg.Multiselect = False
dlg.CheckFileExists = False
If dlg.ShowDialog = DialogResult.OK Then
Try
TextBox1.Text = IO.File.ReadAllText(dlg.FileName)
Catch ex As Exception
MessageBox.Show("Error opening file : " & ex.Message)
End Try
End If
End Sub
The above is typical code for opening a "Open File" dialog. Now there is nothing wrong with that code. It's a perfectly acceptable way of writing code. This is the way us "old-schoolers" would write it. That doesn't mean it couldn't be better. You could make that far more readable while not giving up anything:-
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FluentOpenDialog.Create().
AddFilter("Text files", "*.txt").
AddAllFilesFilter().
FileAction(Sub(fn) TextBox1.Text = IO.File.ReadAllText(fn)).
ErrorAction(Sub(ex) MessageBox.Show("Error opening file : " & ex.Message)).
Open()
End Sub
The above is the same code written in the fluent style. It does the same thing while being more compact and readable. I find languages that allow you to write code like this very attractive. That doesn't mean I won't use a language without it but it certainly helps in making the language more attractive.
I guess it's all in the eye of the beholder, as with the 'old style' I think that's much more readable as the fluent version. Compact doesn't always mean more readable.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SuperDre
I guess it's all in the eye of the beholder, as with the 'old style' I think that's much more readable as the fluent version. Compact doesn't always mean more readable.
So you decided to reply to this one year old random message out of pure desire to clarify things to these young heads?
https://dl.unicontsoft.com/upload/pi...ff-my-lawn.gif
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
That does seem in keeping with the spirit of the thread, though. Posts are far between, yet the thread has never been totally moribund...unlike the question, which seems increasingly settled.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
For a programming language designer, how to change the reading habits, writing habits and thinking habits that some people have formed for a long time is a problem worthy of in-depth study and discussion.
Also, I always think that Chinese is the easiest language in the world to learn.:D