Help me defend PB "reputation"
Help me defend PB "reputation"
So, I have a couple of friends, which are hardcore C++ programmers. When we are having some beer, we usually start arguing about various programming languages. And, when I mention PB, they start to grin from ear to ear at me with sarcastic smile. Their main arguments are:
1. Amateurish, esoteric language.
2. No real OOP.
3. Small community and number of libraries.
4. Foggy future of it.
Can you provide me any arguments which will "kill" them and "seduce" to use PB? I am asking this because they are really experienced bastards and I am just a hobbyist coder, mainly using PB for various cryptocurrency trading bots(so I only know some http protocol and string manipulation).
1. Amateurish, esoteric language.
2. No real OOP.
3. Small community and number of libraries.
4. Foggy future of it.
Can you provide me any arguments which will "kill" them and "seduce" to use PB? I am asking this because they are really experienced bastards and I am just a hobbyist coder, mainly using PB for various cryptocurrency trading bots(so I only know some http protocol and string manipulation).
Re: Help me defend PB "reputation"
You won't be able to "kill" them with arguments that support PB and you'll have a really hard time
to convert them to using PB (though you might get them to try it out).
The following points reflect my opinion.
1. Amateurish, esoteric language.
That's pretty dumb and narrow-minded of them to say, especially since they didn't give it a shot.
2. No real OOP.
True, big point there. This is exactly why I don't use PB anymore for anything else than small tools.
OOP just makes things that much easier and more maintainable. It depends on the use case, but since
C++ supports both OOP and non-OOP programming paradigms, C++ clearly wins here.
3. Small community and number of libraries.
The small community is indeed a problem. While I experience the PB community to be more (beginner-) friendly than others,
there is not that much example code or library code out there compared to other languages.
4. Foggy future of it.
Meh. PB has been around for ages, I wouldn't worry too much about it (while at the same time not fully commit to it either).
PB is a really nice and small language that has been improved a lot over the years. It's from the basic family,
so you either like it or not. But the reality is: PB literally has nothing feature-wise that can't be done in C++ either equally or better
once you've learned the language.
PB is what has gotten me interested in programming over a decade ago and what has put me there where I am now.
And while I'm really thankful for that, I've since moved on because PB is just not able to compete anymore with other languages
on my personal experience and skill levels.
Regarding your C++ buddies: your best bet is to simply ask them to give PB a shot and try to find its strengths.
Programming languages are supposed to be used along each other, not against each other. So the entire discussion is pointless.
to convert them to using PB (though you might get them to try it out).
The following points reflect my opinion.
1. Amateurish, esoteric language.
That's pretty dumb and narrow-minded of them to say, especially since they didn't give it a shot.
2. No real OOP.
True, big point there. This is exactly why I don't use PB anymore for anything else than small tools.
OOP just makes things that much easier and more maintainable. It depends on the use case, but since
C++ supports both OOP and non-OOP programming paradigms, C++ clearly wins here.
3. Small community and number of libraries.
The small community is indeed a problem. While I experience the PB community to be more (beginner-) friendly than others,
there is not that much example code or library code out there compared to other languages.
4. Foggy future of it.
Meh. PB has been around for ages, I wouldn't worry too much about it (while at the same time not fully commit to it either).
PB is a really nice and small language that has been improved a lot over the years. It's from the basic family,
so you either like it or not. But the reality is: PB literally has nothing feature-wise that can't be done in C++ either equally or better
once you've learned the language.
PB is what has gotten me interested in programming over a decade ago and what has put me there where I am now.
And while I'm really thankful for that, I've since moved on because PB is just not able to compete anymore with other languages
on my personal experience and skill levels.
Regarding your C++ buddies: your best bet is to simply ask them to give PB a shot and try to find its strengths.
Programming languages are supposed to be used along each other, not against each other. So the entire discussion is pointless.
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
- Joakim Christiansen
- Addict
- Posts: 2452
- Joined: Wed Dec 22, 2004 4:12 pm
- Location: Norway
- Contact:
Re: Help me defend PB "reputation"
Well, it's a very good language for fast prototyping of stuff! Basically you can do a lot with a little code! Because so many useful functions (for 2D, 3D and whatnot) are built into the language, which if written in C++ would make up several hundreds lines of code. I can explain it like this: It's kinda fast and easy to get stuff done like in a scripting language, but PB compiles.
PB is for you who want something done instead of scratching your head over how to get something to work.
But with C++ there is indeed a big world of libraries and open source code you can work with, that's why I spend more time learning it at the moment. After I switched to Linux (Debian) I am more into open source stuff and I would like my next projects to be written in a language which is free so other people can participate.
PB is for you who want something done instead of scratching your head over how to get something to work.
But with C++ there is indeed a big world of libraries and open source code you can work with, that's why I spend more time learning it at the moment. After I switched to Linux (Debian) I am more into open source stuff and I would like my next projects to be written in a language which is free so other people can participate.
I like logic, hence I dislike humans but love computers.
Re: Help me defend PB "reputation"
Hi ostapas. In my experience, language evangelism is a no-win situation. You'd be hard-pressed to convert anyone from their opinions or their language of choice.
Having taken the leap into other languages myself, and actively developing in Objective-C and Java for iOS and Android now, I still hold fast to PureBasic for my Windows and OSX development; purely for its strengths.
However, if your evangelical urge overcomes, I have found these to be some unbeatable points about PureBasic:
- readable and terse syntax
- purely procedural paradigm with true multithreading
- supports both 32bit and true 64bit environments
- true cross-platform compilation of unmodified code on Windows, OSX, Linux
- includes comprehensive libraries usable on all platforms
- includes 2D & 3D game and multimedia engines for all platforms
- implements native UI of each OS without any external libraries
- includes visual form designer that automatically generates UI code
- OS API functions, constants, structures accessible without import
- able to import and utilise external third-party libraries
- able to utilise inline Assembly for speed-critical code
- compiles to very small, very fast binary executables
- executables require absolutely no dependencies or frameworks
- executables can be run out of the box without any installation
Issues with other mainstream languages:
* in other languages, libraries are not consolidated
* third-party libraries are not supported and prone to errors
* poorly written libraries bloat compiled binaries and hamper performance
* OOP is not always the optimal approach - C is not object-oriented
* Java apps require the installation of virtual machines in order to work
* C# apps depend on the .Net framework, on both Windows and OSX
* no other language implements the native UI of the target OS
* OS API functions must be imported before they can be utilised
* unoptimised code would result in slow and bloated binaries
These are all valid and accurate points, which place PureBasic high on the leaderboard. We use it because it meets (and exceeds) our development needs, and not because it's popular. And, for any reason, if this no longer holds true, we'll move on to something else that would meet those needs (a lesson learned from VB6).
Granted, no language is without its shortcomings, but with PureBasic, the trade-offs are few, and the advantages far outweigh any of them.
For now, anyway
Having taken the leap into other languages myself, and actively developing in Objective-C and Java for iOS and Android now, I still hold fast to PureBasic for my Windows and OSX development; purely for its strengths.
However, if your evangelical urge overcomes, I have found these to be some unbeatable points about PureBasic:
- readable and terse syntax
- purely procedural paradigm with true multithreading
- supports both 32bit and true 64bit environments
- true cross-platform compilation of unmodified code on Windows, OSX, Linux
- includes comprehensive libraries usable on all platforms
- includes 2D & 3D game and multimedia engines for all platforms
- implements native UI of each OS without any external libraries
- includes visual form designer that automatically generates UI code
- OS API functions, constants, structures accessible without import
- able to import and utilise external third-party libraries
- able to utilise inline Assembly for speed-critical code
- compiles to very small, very fast binary executables
- executables require absolutely no dependencies or frameworks
- executables can be run out of the box without any installation
Issues with other mainstream languages:
* in other languages, libraries are not consolidated
* third-party libraries are not supported and prone to errors
* poorly written libraries bloat compiled binaries and hamper performance
* OOP is not always the optimal approach - C is not object-oriented
* Java apps require the installation of virtual machines in order to work
* C# apps depend on the .Net framework, on both Windows and OSX
* no other language implements the native UI of the target OS
* OS API functions must be imported before they can be utilised
* unoptimised code would result in slow and bloated binaries
These are all valid and accurate points, which place PureBasic high on the leaderboard. We use it because it meets (and exceeds) our development needs, and not because it's popular. And, for any reason, if this no longer holds true, we'll move on to something else that would meet those needs (a lesson learned from VB6).
Granted, no language is without its shortcomings, but with PureBasic, the trade-offs are few, and the advantages far outweigh any of them.
For now, anyway
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel
Re: Help me defend PB "reputation"
If they have ingrained opinions about all other languages compared to C++ then you will be banging your head against a brick wall.
Challenge them to write a "Hello World" windowed application in Window/Linux/OSX in C++ while you do the same in PB and see who gets there first.
Challenge them to write a "Hello World" windowed application in Window/Linux/OSX in C++ while you do the same in PB and see who gets there first.
- Joakim Christiansen
- Addict
- Posts: 2452
- Joined: Wed Dec 22, 2004 4:12 pm
- Location: Norway
- Contact:
Re: Help me defend PB "reputation"
Excellent idea, I was about to suggest something similar!Julian wrote:Challenge them to write a "Hello World" windowed application in Window/Linux/OSX in C++ while you do the same in PB and see who gets there first.
I like logic, hence I dislike humans but love computers.
Re: Help me defend PB "reputation"
You tell them...ostapas wrote:So, I have a couple of friends, which are hardcore C++ programmers. When we are having some beer, we usually start arguing about various programming languages. And, when I mention PB, they start to grin from ear to ear at me with sarcastic smile. Their main arguments are:
1. Amateurish, esoteric language.
2. No real OOP.
3. Small community and number of libraries.
4. Foggy future of it.
Can you provide me any arguments which will "kill" them and "seduce" to use PB? I am asking this because they are really experienced bastards and I am just a hobbyist coder, mainly using PB for various cryptocurrency trading bots(so I only know some http protocol and string manipulation).
1. So, what?!?!? I am an amateur programmer, it is far easier than C++.
2. Which is why it is better for an amateur coder than C++.
3. Perhaps, but sufficient for what you do.
4. Covered above. Adding to that, PB is what...15 years old? It will not disappear overnight. It is not a flash-in-the-pan language that disappeared in 2 years, like many others.
Re: Help me defend PB "reputation"
...and then add...
1. It can be learned in about 1/3 the time of C++.
2. It can use any c++ library or dll, in addition to having probably the largest library of anything other than Delphi.
3. For small programs, you can probably write it just as fast with PB as an expert can write it in C++.
4. Strings are about 10 times easier with PB.
1. It can be learned in about 1/3 the time of C++.
2. It can use any c++ library or dll, in addition to having probably the largest library of anything other than Delphi.
3. For small programs, you can probably write it just as fast with PB as an expert can write it in C++.
4. Strings are about 10 times easier with PB.
Re: Help me defend PB "reputation"
If you have to defend the language, you've already lost.
Re: Help me defend PB "reputation"
Arguing over a programming language is highly transient. The pace of development in functional programming, JIT compilers and indeed AI, means typing on a keyboard with a predefined syntax will soon and thankfully be considered quaint.
In the meantime, choose tools that get your job done in an elegant and timely manner.
Haha, when I am talking over beer, programming is way down on the list of topics!
Let's see: there's ladies, sports, cars, ladies, politics, ladies...hahaha
In the meantime, choose tools that get your job done in an elegant and timely manner.
Haha, when I am talking over beer, programming is way down on the list of topics!
Let's see: there's ladies, sports, cars, ladies, politics, ladies...hahaha
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
Re: Help me defend PB "reputation"
I do like this point.juror wrote:If you have to defend the language, you've already lost.
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
Re: Help me defend PB "reputation"
The language is irrelevant, because the end result is all that matters. An egg boiled by you is no different to an egg boiled by Jamie Oliver. Your pot (PureBasic) does the same job as Jamie's (C++). Just because Jamie has a flashier pot and a nice OOP stove to boil it on, doesn't make the egg taste better.
Re: Help me defend PB "reputation"
You don't need to defend.
Make a challange:
Target: Write a GUI application which shows pictures for all 3 OSs and only one sourcecode is allowed.
Than meassure the time for writing and compare if the results looks the same on all 3 OSs.
And no, Qt is not allowed! (Because it's not plain C++)
Or compare the needed filesize(s) of running it standalone on a foreign PC.
(Last time I had to collect 125MB of Qt dlls to make the exe runable on an other PC)
If you want that the result is even more better for PB:
Include something with database access too.
Bernd
Make a challange:
Target: Write a GUI application which shows pictures for all 3 OSs and only one sourcecode is allowed.
Than meassure the time for writing and compare if the results looks the same on all 3 OSs.
And no, Qt is not allowed! (Because it's not plain C++)
Or compare the needed filesize(s) of running it standalone on a foreign PC.
(Last time I had to collect 125MB of Qt dlls to make the exe runable on an other PC)
If you want that the result is even more better for PB:
Include something with database access too.
Bernd
Re: Help me defend PB "reputation"
Many thanks for the replies. I have noticed, me and my buddies can't find a common opinion even if we talk about brunettes and blondes, so what about programming languages... But I will still try to catch up Thanks again!
Re: Help me defend PB "reputation"
Just compare plain language features, without any libraries at all.infratec wrote:And no, Qt is not allowed! (Because it's not plain C++)
There are too many big libs available for C++, so it's more fair to concentrate
on the language features itself...