Should PureBasic become my main development system?
Should PureBasic become my main development system?
Hello everybody,
I know that when I ask "Should PureBasic be my main development system?", a good number of people will have a response something like "Yes, it's incredible, end of!" and I understand your enthusiasm. I have no doubt about the level of power that PureBasic provides a programmer committed to learning and using it.
A little history will explain why I ask this. I've used RAD development systems to produce results I'm pleased with but I'm attracted to PureBasic by the fast-loading IDE, very small executables, no dependencies, the help system, and other considerations. Yes, even the PureBasic Help system is so pleasing for me in its simplicity and easy access to the right information. Other development systems I've used are becoming frustrating as there seems to be a move to modernizing and "improving" the built-in "help" beyond being useful and rather providing more of an experience in frustration and confusion. I'm finding that the built-in help systems are moving towards unusable.
I purchased PureBasic several years ago and had multiple false starts so gave up but increasing disappointment with other software caused me to make a determined effort that resulted in me writing some very useful single window programs that my colleagues appreciate a lot due to the time saving and elimination of human error. It was the events handling tutorial by TI-994A that got me on a new path to gaining success with PureBasic, thank you TI-994A.
I purchased IceDesign a few days ago without knowing if someone at my beginner level would be able to use it but with a little productive messing around I was able to produce a single window test program complete with the beautiful little JellyButtons. Thank you Chris for developing IceDesign. I'll be extra pleased if IceDesign allows to develop applications with multiple windows but I'm still to investigate that.
Systems I've used previously have a few things that add some nice features for end users. For example, sort a data grid by clicking any column title or reverse the sort order by clicking on a column title, or a built-in report writer which will output to PDF and other useful formats.
My focus will likely be on writing database applications, having multiple windows, creating PDF reports from data files, and generally producing useful software. I'd eventually like to write a simple game like the Spacies game from the 1980s.
So with all that in mind, my question is "Should PureBasic become my main development system?". Will PureBasic allow me to develop this type of application that can compete with what can be developed using software that has so many facilities already built-in that I can use without the need for additional intense coding.
Thank you and I'd appreciate any opinions.
David
I know that when I ask "Should PureBasic be my main development system?", a good number of people will have a response something like "Yes, it's incredible, end of!" and I understand your enthusiasm. I have no doubt about the level of power that PureBasic provides a programmer committed to learning and using it.
A little history will explain why I ask this. I've used RAD development systems to produce results I'm pleased with but I'm attracted to PureBasic by the fast-loading IDE, very small executables, no dependencies, the help system, and other considerations. Yes, even the PureBasic Help system is so pleasing for me in its simplicity and easy access to the right information. Other development systems I've used are becoming frustrating as there seems to be a move to modernizing and "improving" the built-in "help" beyond being useful and rather providing more of an experience in frustration and confusion. I'm finding that the built-in help systems are moving towards unusable.
I purchased PureBasic several years ago and had multiple false starts so gave up but increasing disappointment with other software caused me to make a determined effort that resulted in me writing some very useful single window programs that my colleagues appreciate a lot due to the time saving and elimination of human error. It was the events handling tutorial by TI-994A that got me on a new path to gaining success with PureBasic, thank you TI-994A.
I purchased IceDesign a few days ago without knowing if someone at my beginner level would be able to use it but with a little productive messing around I was able to produce a single window test program complete with the beautiful little JellyButtons. Thank you Chris for developing IceDesign. I'll be extra pleased if IceDesign allows to develop applications with multiple windows but I'm still to investigate that.
Systems I've used previously have a few things that add some nice features for end users. For example, sort a data grid by clicking any column title or reverse the sort order by clicking on a column title, or a built-in report writer which will output to PDF and other useful formats.
My focus will likely be on writing database applications, having multiple windows, creating PDF reports from data files, and generally producing useful software. I'd eventually like to write a simple game like the Spacies game from the 1980s.
So with all that in mind, my question is "Should PureBasic become my main development system?". Will PureBasic allow me to develop this type of application that can compete with what can be developed using software that has so many facilities already built-in that I can use without the need for additional intense coding.
Thank you and I'd appreciate any opinions.
David
Re: Should PureBasic become my main development system?
This doesn't answer your question, but in regards to IDE's, Visual Basic 6 is still the easiest IDE ive ever used, I think IDE developers can still learn a LOT from it
Re: Should PureBasic become my main development system?
You can watch this very basic video on assembling multiple windows Demo_Multi_Window.gif.radsoft wrote: ↑Fri Sep 09, 2022 10:55 am I purchased IceDesign a few days ago without knowing if someone at my beginner level would be able to use it but with a little productive messing around I was able to produce a single window test program complete with the beautiful little JellyButtons. Thank you Chris for developing IceDesign. I'll be extra pleased if IceDesign allows to develop applications with multiple windows but I'm still to investigate that.
The setting option "Add Compiler IsMainFile" was added afterwards. it allows you to test each window individually, with the idea of assembling the call of the windows from your main PB source. With the Event loop inside or for exemple, by using the Setting option "Bind Events in an IncludeFile".
For Multi-Window with a homogeneous look, you can eventually save a basic Interface, with the buttons,... common to all your windows, your base template. So, for each new window, you can Open or Import this basic template as a starting point and then add your Gadgets to draw your Interfaces.
#
I don't have enough experience in the PC world to answer your question.
I come from the old IBM As400 mini computer world, with a tiny bit of WinDev. I was really happy to have discovered PureBasic, which allowed me to discover and appreciate the dev on microcomputer now. But for the moment, I don't have any experience on other languages.
I just know that it is powerfull but unfortunately not known enough to be more widely used in companies. Yet, given the talented guys around who use it, and all its qualities, it should be more widely known, used.
Re: Should PureBasic become my main development system?
You haven't mentioned anything that PureBasic just can't do. There are a few things that you should consider though:
1) Are you going to be happy using PostgreSQL, MariaDB or MySQL as your backend database? If not, you will need to use the ODBC layer to interface to your databases. This may mean installing ODBC drivers on client machines and an extra potential source of CVEs, updates etc. This could get to be a chore if your user base is large and your databases contain information which is personal or sensitive.
2) The IDE Designer and IceDesign both support multiple different windows in a project (think one email, one address book and a todo list entry all open at the same time). However, neither supports coding for multiple concurrent copies of a single window (think half a dozen email windows all open at the same time).
You would need to be confident enough to undertake modifying a form design to add this functionality if that is what you will need to do. But doing so will render the code incompatible with the designer. (Hint, keep the design file on its own to go back to and tinker with copies). It's not difficult though, just different. (See https://www.purebasic.com/documentation ... _any1.html and https://www.purebasic.com/documentation ... _any2.html for examples of how this can be handled.)
3) Will you want bleeding edge window designs now or in the future, or can you cope with functional but not trendy? PB doesn't support, for example, the Microsoft Windows 10/11 Universal Windows Platform style designs and it probably won't any time soon.
If you'll be selling software this can be an issue because the other guy with the bright and shiny trendy interface will win the "Magpie competition"! See viewtopic.php?t=71146
4) You won't "automagically" get features like column sorting and a report designer, you will have to do the work yourself. If you don't mind some research and work this isn't an issue though. There are topics on most of those things already here on the forum if you look. There's an include file for constructing PDF files. See viewtopic.php?t=72031
5) Learning to program 3D graphics is harder in PB than it could be, if you've not done it before. If you're not worried about 3D or have experience of 3D in other languages this shouldn't be insurmountable.
1) Are you going to be happy using PostgreSQL, MariaDB or MySQL as your backend database? If not, you will need to use the ODBC layer to interface to your databases. This may mean installing ODBC drivers on client machines and an extra potential source of CVEs, updates etc. This could get to be a chore if your user base is large and your databases contain information which is personal or sensitive.
2) The IDE Designer and IceDesign both support multiple different windows in a project (think one email, one address book and a todo list entry all open at the same time). However, neither supports coding for multiple concurrent copies of a single window (think half a dozen email windows all open at the same time).
You would need to be confident enough to undertake modifying a form design to add this functionality if that is what you will need to do. But doing so will render the code incompatible with the designer. (Hint, keep the design file on its own to go back to and tinker with copies). It's not difficult though, just different. (See https://www.purebasic.com/documentation ... _any1.html and https://www.purebasic.com/documentation ... _any2.html for examples of how this can be handled.)
3) Will you want bleeding edge window designs now or in the future, or can you cope with functional but not trendy? PB doesn't support, for example, the Microsoft Windows 10/11 Universal Windows Platform style designs and it probably won't any time soon.
If you'll be selling software this can be an issue because the other guy with the bright and shiny trendy interface will win the "Magpie competition"! See viewtopic.php?t=71146
4) You won't "automagically" get features like column sorting and a report designer, you will have to do the work yourself. If you don't mind some research and work this isn't an issue though. There are topics on most of those things already here on the forum if you look. There's an include file for constructing PDF files. See viewtopic.php?t=72031
5) Learning to program 3D graphics is harder in PB than it could be, if you've not done it before. If you're not worried about 3D or have experience of 3D in other languages this shouldn't be insurmountable.
Last edited by spikey on Sat Sep 10, 2022 4:39 pm, edited 1 time in total.
Re: Should PureBasic become my main development system?
Yes, I remember too how easy it was to ride a bike with training wheels. But I could not ride with the big boys till they came off.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
Re: Should PureBasic become my main development system?
I saved this link (answer to question)
- netmaestro
- PureBasic Bullfrog
- Posts: 8433
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
Re: Should PureBasic become my main development system?
It's mine. With a 40-year background comprising about a dozen mainstream languages PB is the only one I use now. It's the libraries that settle it for me. Hashtables? Maps. Gdiplus graphics? Vector Drawing. Most of WinAPI is native, just add an underscore. Encryption? Cipher. Compression? Packer. I'm making a mistake starting to list them, there are just too many. And all robust and easy to use.
BERESHEIT
Re: Should PureBasic become my main development system?
Thanks to everyone that replied, I'm enjoying reading your responses.
I'm happy with SQLite, PostgreSQL, MariaDB or MySQL so no problem there although I quietly wonder about Microsoft SQL Server Express.
As for the snazzy user interface, I'm already thrilled with the IceDesign JellyButtons and I've been using the ButtonImageGadget with attractive button images so at this stage I don't think I'm really yearning for anything else except perhaps for greenbar effect in the ListIconGadget but I'm sure that is possible. I'm not anticipating looking at 3D graphics in the foreseeable future although I'd certainly like to eventually develop a game like the 1980s Spacies.
The beauty of the PureBasic help system provided is that it is so easy to find all the commands relevant to those libraries that netmaestro listed whereas other development software I've used is making it a mission to find what I need.
Thanks everyone, I appreciate your input and from here, I'll continue on my learning path and look forward to becoming fluent in the PureBasic language.
I'm happy with SQLite, PostgreSQL, MariaDB or MySQL so no problem there although I quietly wonder about Microsoft SQL Server Express.
As for the snazzy user interface, I'm already thrilled with the IceDesign JellyButtons and I've been using the ButtonImageGadget with attractive button images so at this stage I don't think I'm really yearning for anything else except perhaps for greenbar effect in the ListIconGadget but I'm sure that is possible. I'm not anticipating looking at 3D graphics in the foreseeable future although I'd certainly like to eventually develop a game like the 1980s Spacies.
The beauty of the PureBasic help system provided is that it is so easy to find all the commands relevant to those libraries that netmaestro listed whereas other development software I've used is making it a mission to find what I need.
Thanks everyone, I appreciate your input and from here, I'll continue on my learning path and look forward to becoming fluent in the PureBasic language.
Re: Should PureBasic become my main development system?
Perhaps this is what you're looking for?
Code: Select all
; Alternate color lines
; Marc56us 2018/01/04
; http://mdacme.com
EnableExplicit
Enumeration
#Win
#List
#Btn_Quit
EndEnumeration
OpenWindow(#Win, 0, 0, 640, 480, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#List, 10, 10, WindowWidth(#Win) - 20, WindowHeight(#Win) - 50,
"Alternate color lines", WindowWidth(#Win) - 41, #PB_ListIcon_GridLines)
ButtonGadget(#Btn_Quit, WindowWidth(#Win) - 100, WindowHeight(#Win) - 30, 90, 25, "Quit")
Define Col_1 = $E6D8AD
Define Col_2 = $FFFFFF
Define Col_Bkg = Col_1
Define i
For i = 0 To 100
AddGadgetItem(#List, i, "Hello World")
SetGadgetItemColor(#List, i, #PB_Gadget_BackColor, Col_Bkg, 0)
; Alternate color
If Col_Bkg = Col_1 : Col_Bkg = Col_2 : Else : Col_Bkg = Col_1 : EndIf
Next
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case #Btn_Quit
Break
EndSelect
EndSelect
ForEver
- It was too lonely at the top.
System : PB 6.10 LTS (x64) and Win Pro 11 (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
System : PB 6.10 LTS (x64) and Win Pro 11 (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
Re: Should PureBasic become my main development system?
Thank you blueb. I run your code and it is exactly what I was meaning. The possibilities are endless.
Re: Should PureBasic become my main development system?
It all depends on what you want to do. Several months ago I decided to move from Xojo to PB. Xojo was costing me $400 a year for database server and version control support whereas PB has all that for a one time fee. It would be even more if I wanted to do console apps, which I do.
But, my needs are simple... I mainly just write stuff for myself so I don't care if my apps look pretty. So, for me, PB has become my main development system, but I reserver the right to change in the future.![Smile :-)](./images/smilies/icon_smile.gif)
FWIW, I develop on a Mac.
Phil
But, my needs are simple... I mainly just write stuff for myself so I don't care if my apps look pretty. So, for me, PB has become my main development system, but I reserver the right to change in the future.
![Smile :-)](./images/smilies/icon_smile.gif)
FWIW, I develop on a Mac.
Phil
Re: Should PureBasic become my main development system?
PB is good for small specialized tools and utilities. If you fancy LOB applications, you better also look elsewhere.
Then again, web based is all the rage for that kind of stuff now. Gone are the days of true RAD, design and Productivity.
PB has nothing fancy to it. It is more or less a C kind of thing with handy and easy to use libraries (which do frequently lack one option or another, but workarounds can most times be found). It is missing syntax sugar here and there and seems to not to get any new language features.
Use the right tool for the job. I looked hard for something that checked all boxes, but never found it.
Then again, web based is all the rage for that kind of stuff now. Gone are the days of true RAD, design and Productivity.
PB has nothing fancy to it. It is more or less a C kind of thing with handy and easy to use libraries (which do frequently lack one option or another, but workarounds can most times be found). It is missing syntax sugar here and there and seems to not to get any new language features.
Use the right tool for the job. I looked hard for something that checked all boxes, but never found it.
Re: Should PureBasic become my main development system?
Hello Phil, Xojo is still a good option but I wasn't so keen on the price increases. I purchased Pro in the past but in my case the Lite version is sufficient as I'm primarily using SQLite. I also found the built-in help frustrating to use as it lost the simplicity of what it used to be.
Thank you Rinzwind. I'm only interested in developing desktop applications and not looking at LOB. In terms of language features, I've been very pleased with what I've found so far. I was hoping that clicking on a ListIconGadget column title would sort the rows but some clever people have posted code to handle that sort of thing. Maybe some features like this will be eventually added to the gadgets.
I'm drawn to PureBasic by everything it offers and I think my main concern now is how I'll be able to develop an application with multiple windows in a timely way. I'd like to click on a record in the ListIconGadget, open that record in a window, use drop downs for field entries, that sort of thing.
While I'm very pleased with my IceDesign purchase, my plan is to initially hand coding everything in order to become familiar with the terminology and that will put me in a better position to confidently use the options in IceDesign.
I appreciate all your responses, thank you.
Thank you Rinzwind. I'm only interested in developing desktop applications and not looking at LOB. In terms of language features, I've been very pleased with what I've found so far. I was hoping that clicking on a ListIconGadget column title would sort the rows but some clever people have posted code to handle that sort of thing. Maybe some features like this will be eventually added to the gadgets.
I'm drawn to PureBasic by everything it offers and I think my main concern now is how I'll be able to develop an application with multiple windows in a timely way. I'd like to click on a record in the ListIconGadget, open that record in a window, use drop downs for field entries, that sort of thing.
While I'm very pleased with my IceDesign purchase, my plan is to initially hand coding everything in order to become familiar with the terminology and that will put me in a better position to confidently use the options in IceDesign.
I appreciate all your responses, thank you.
Re: Should PureBasic become my main development system?
Hello,
Once the windows version is out of the door they are planning to develop and release version for multiple OSs.
https://twinbasic.com/
HTH
Have you heard of a new dev tool called twinBasic? It is still in Alpha stage and is targeted to be a one to one replacement to VB6.
Once the windows version is out of the door they are planning to develop and release version for multiple OSs.
https://twinbasic.com/
HTH
--
Yogi Yang
Yogi Yang