Help me defend PB "reputation"

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
ostapas
Enthusiast
Enthusiast
Posts: 192
Joined: Thu Feb 18, 2010 11:10 pm

Help me defend PB "reputation"

Post 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).
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: Help me defend PB "reputation"

Post 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. :)
Image
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
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Re: Help me defend PB "reputation"

Post 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.
I like logic, hence I dislike humans but love computers.
User avatar
TI-994A
Addict
Addict
Posts: 2512
Joined: Sat Feb 19, 2011 3:47 am
Location: Singapore
Contact:

Re: Help me defend PB "reputation"

Post 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 :lol:
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 :D
Julian
Enthusiast
Enthusiast
Posts: 276
Joined: Tue May 24, 2011 1:36 pm

Re: Help me defend PB "reputation"

Post 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.
User avatar
Joakim Christiansen
Addict
Addict
Posts: 2452
Joined: Wed Dec 22, 2004 4:12 pm
Location: Norway
Contact:

Re: Help me defend PB "reputation"

Post 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! :lol:
I like logic, hence I dislike humans but love computers.
User avatar
Tenaja
Addict
Addict
Posts: 1948
Joined: Tue Nov 09, 2010 10:15 pm

Re: Help me defend PB "reputation"

Post 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.
User avatar
Tenaja
Addict
Addict
Posts: 1948
Joined: Tue Nov 09, 2010 10:15 pm

Re: Help me defend PB "reputation"

Post 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.
juror
Enthusiast
Enthusiast
Posts: 228
Joined: Mon Jul 09, 2007 4:47 pm
Location: Courthouse

Re: Help me defend PB "reputation"

Post by juror »

If you have to defend the language, you've already lost.
User avatar
skywalk
Addict
Addict
Posts: 3972
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Help me defend PB "reputation"

Post 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! :shock:
Let's see: there's ladies, sports, cars, ladies, politics, ladies...hahaha :lol:
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: Help me defend PB "reputation"

Post by Shield »

juror wrote:If you have to defend the language, you've already lost.
I do like this point. :)
Image
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
Dude
Addict
Addict
Posts: 1907
Joined: Mon Feb 16, 2015 2:49 pm

Re: Help me defend PB "reputation"

Post 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.
infratec
Always Here
Always Here
Posts: 6818
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: Help me defend PB "reputation"

Post 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
User avatar
ostapas
Enthusiast
Enthusiast
Posts: 192
Joined: Thu Feb 18, 2010 11:10 pm

Re: Help me defend PB "reputation"

Post 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!
User avatar
Danilo
Addict
Addict
Posts: 3037
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Help me defend PB "reputation"

Post 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...
Post Reply