Page 1 of 6
Help me defend PB "reputation"
Posted: Tue May 12, 2015 3:58 pm
by ostapas
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).
Re: Help me defend PB "reputation"
Posted: Tue May 12, 2015 5:00 pm
by Shield
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.

Re: Help me defend PB "reputation"
Posted: Tue May 12, 2015 5:43 pm
by Joakim Christiansen
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.
Re: Help me defend PB "reputation"
Posted: Tue May 12, 2015 6:24 pm
by TI-994A
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 
Re: Help me defend PB "reputation"
Posted: Tue May 12, 2015 10:33 pm
by Julian
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.
Re: Help me defend PB "reputation"
Posted: Tue May 12, 2015 10:37 pm
by Joakim Christiansen
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.
Excellent idea, I was about to suggest something similar!

Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 12:48 am
by Tenaja
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).
You tell them...
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"
Posted: Wed May 13, 2015 12:50 am
by Tenaja
...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.
Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 1:40 am
by juror
If you have to defend the language, you've already lost.
Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 1:48 am
by skywalk
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

Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 7:28 am
by Shield
juror wrote:If you have to defend the language, you've already lost.
I do like this point.

Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 9:00 am
by Dude
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"
Posted: Wed May 13, 2015 10:13 am
by infratec
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
Re: Help me defend PB "reputation"
Posted: Wed May 13, 2015 10:20 am
by ostapas
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"
Posted: Wed May 13, 2015 10:28 am
by Danilo
infratec wrote:And no, Qt is not allowed! (Because it's not plain C++)
Just compare plain language features, without any libraries at all.
There are too many big libs available for C++, so it's more fair to concentrate
on the language features itself...