It is currently Mon Dec 17, 2018 10:46 am

All times are UTC + 1 hour




Post new topic Reply to topic  [ 211 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 15  Next
Author Message
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Tue Aug 05, 2014 9:54 pm 
Offline
Addict
Addict
User avatar

Joined: Sat Apr 26, 2003 8:26 am
Posts: 2916
Location: Planet Earth
marroh wrote:
And your other reasons like "... or when developping an user lib (everybody is unicode)" I feel as void because user libs in pb was no topic since x years. Not because the unicode / ascii thing, because the win / mac / linux thing.

PB internal libraries use the same "user libraries" system. Compiled lib (.lib/.obj) and a description file (.desc) compiled into
a PureBasic library. It seems like they write at least 4 functions in C for every PB function:
- Function()
- Function_Debug()
- Function_Unicode()
- Function_Unicode_Debug().

As far as I understand that's the main reason for removing Ascii support. 2 out of 4 above functions
could be eliminated and built-times are faster, too.
Making low-level-API PB-Libs for Ascii and Unicode is not always as easy as with PB, where you only check
"[X] Create Unicode executable", and everything just works, if coded properly.

marroh wrote:
I think remove the ascii support makes PB definitely NOT modern. :(

AFAIK many new programming languages (last 15 years) are UNICODE only by default (like .NET),
so I think it is not a big problem for most people.
I remember one console application where I had to use ASCII mode explicitly, because it didn't work
otherwise. Most external console apps are ASCII only, and some have problems with UNICODE pipe stuff
or something like that. Beside that, I did always write everything for UNICODE and ASCII mode for
some years, including writing big wrappers for external libraries/DLLs, and it was never a big problem
by using all possibilities (including pseudo-types like p-ascii and p-utf8). Most of the bugs with
this stuff should be fixed already.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Tue Aug 05, 2014 11:15 pm 
Offline
User
User

Joined: Wed Aug 06, 2008 8:21 am
Posts: 72
Danilo wrote:
marroh wrote:
And your other reasons like "... or when developping an user lib (everybody is unicode)" I feel as void because user libs in pb was no topic since x years. Not because the unicode / ascii thing, because the win / mac / linux thing.

PB internal libraries use the same "user libraries" system. Compiled lib (.lib/.obj) and a description file (.desc) compiled into
a PureBasic library. It seems like they write at least 4 functions in C for every PB function:
- Function()
- Function_Debug()
- Function_Unicode()
- Function_Unicode_Debug().

As far as I understand that's the main reason for removing Ascii support. 2 out of 4 above functions
could be eliminated and built-times are faster, too.
Making low-level-API PB-Libs for Ascii and Unicode is not always as easy as with PB, where you only check
"[X] Create Unicode executable", and everything just works, if coded properly.

marroh wrote:
I think remove the ascii support makes PB definitely NOT modern. :(

AFAIK many new programming languages (last 15 years) are UNICODE only by default (like .NET),
so I think it is not a big problem for most people.
I remember one console application where I had to use ASCII mode explicitly, because it didn't work
otherwise. Most external console apps are ASCII only, and some have problems with UNICODE pipe stuff
or something like that. Beside that, I did always write everything for UNICODE and ASCII mode for
some years, including writing big wrappers for external libraries/DLLs, and it was never a big problem
by using all possibilities (including pseudo-types like p-ascii and p-utf8). Most of the bugs with
this stuff should be fixed already.

Your opinion, my opinion I have addressed to Fred. And when you wrote many new programing languages does this an that... many other programing language supports also oop and builds targets for mobile devices but this means not pb should also support this. However, unicode is no option for me and so i simple said i have to stop using pb if pb no longer can builds ascii exe. And if i leave pb it is not dramatic, just a fact thats unicode is no option for me.

_________________
PureBASIC v5.41 LTS , Windows v8.1 x64
Forget UNICODE - Keep it BASIC !


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Tue Aug 05, 2014 11:21 pm 
Offline
Administrator
Administrator

Joined: Fri May 17, 2002 4:39 pm
Posts: 13436
Location: France
To be more precise, we have:

Function() (ascii)
Function_UNICODE (unicode)
Function_Debug() (runtime debug)

That's for standard function using strings. Now, if we have a "threaded" version as well, we get:

Function() (ascii)
Function_THREAD() (ascii + threaded)
Function_UNICODE (unicode)
Function_UNICODE_THREAD (unicode + threaded)
Function_Debug() (runtime debug)


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 1:34 am 
Offline
Addict
Addict
User avatar

Joined: Tue Dec 23, 2003 3:54 am
Posts: 1574
No ASCII compile would be big change, but I approve if it simplifies your development and modernizes the language.

As long as there are some helper functions, I am not too worried about converting code...
In fact I have been trying to use Unicode more, forcing myself to change.

My only concern is the performance decrease that some people are reporting!


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 1:56 am 
Offline
Enthusiast
Enthusiast
User avatar

Joined: Mon Jan 12, 2004 11:40 pm
Posts: 755
Location: Okazaki, JAPAN
I want to support ASCII / Unicode both.

I create super high quality sound player "Bug head Emperor". Ascii binary and Unicode binary,
2 package distribute.

in High quality sound player, Unicode binary is poor sound. Many users (10,000+) said
"Ascii binary is best sound, Unicode binary is poor sound"

When is the Unicode version is sound quality, includes digital noise to the stream of USB-DAC,
the sound quality will be degraded. There are users of more than 8,000 people in Japan.
1000 people in Russia, there are 2000 users in China.
This hinders the development and will be one unified to Unicode.

Please support Ascii binary and Unicode binary in PB compiler.
and check sound quality Bug head Emperor 3.42 beta.

Bughead.exe : Unicode binary
Bughead_HQ.exe: Ascii binary

Mircosoft OneDrive - Bug head
http://1drv.ms/1nBAKyD
* Please check "Bug head Emperor 3.42 beta"
* Compiler version PureBasic Ver5.30

Thank you

_________________
My general site & Bug head technology - Ultimate high quality sound player by BASS
My facebook page.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 2:43 am 
Offline
PureBasic Expert
PureBasic Expert

Joined: Fri Apr 25, 2003 5:24 pm
Posts: 7581
I used to avoid Unicode like the plague until I read this article:

http://www.joelonsoftware.com/articles/Unicode.html

PureBasic is moving in the right direction. Unicode is the future.

_________________
I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 5:44 am 
Offline
Enthusiast
Enthusiast
User avatar

Joined: Fri Jul 19, 2013 7:36 am
Posts: 165
Location: Novosibirsk
If this decision will be continued in the removal of restrictions on the names of identifiers (variables,procedures,macros,constants) I will be very happy :)

_________________
Dawn will come inevitably.
His (http://translate.yandex.ru/) English is not as good as we would like
If the English text is not correct, please correct me in private message


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 8:49 am 
Offline
Addict
Addict

Joined: Wed Nov 12, 2008 5:01 pm
Posts: 1023
Location: Russia
useful, as I understand, plan to remove only support ASCII. About modernization the compiler, nothing is written. I'm not sure that the compiler will support UTF-8, but this question should answer Fred.
In version 5.30, the compiler does not support UTF-8 and is a great limitation. For example, if the source code is encoded in UFT-8 and enabled Unicode support, then this code will not compile.
Code:
DataSection
  IncludeBinary "C:\Программы\Prog.exe"
EndDataSection
Description of error.
Quote:
[COMPILER] Line 2: Included file Not found: C:\?????????\Prog.exe.
The same error with other Include-commands (IncludeFile, XIncludeFile and IncludePath).
If encoding is plain text, and Unicode support is disabled, there is no problem.

Removed, ASCII undesirable. Because it would limit the possibilities of the PB and complicate programming

I have no idea like Fred may think that the removal of ASCII that improving PB. :shock: :shock:
Fred wrote:
- Makes PB definitely more modern.
PB does not support many modern programming techniques (for example OOP), and the removal of existing capabilities can not be considered as modern.
As for OOP, I many times to solve tasks that using OOP is easier to solve than using procedural programming. It is a pity that Fred is so bad relates to OOP. This complicates the some tasks.

_________________
Library XP_Menu_Lib - office menu; HID_Lib - USB Library
Torrent client - pbTorrent (source code); Create driver in PureBasic.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 8:55 am 
Offline
Enthusiast
Enthusiast

Joined: Tue Jan 25, 2005 7:01 pm
Posts: 459
Location: Canada
What baffles me is that any developer still write things not in unicode. Please, remove the ascii switch, it is definitely not a problem as long as you still allow peeks/pokes to handle an ascii mode.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 9:41 am 
Offline
PureBasic Expert
PureBasic Expert

Joined: Fri Apr 25, 2003 5:24 pm
Posts: 7581
> What baffles me is that any developer still write things not in unicode

Totally agreed. From the article that I linked to above:

Joel on Software wrote:
In this article I'll fill you in on exactly what every working programmer should know. All that stuff about "plain text = ascii = characters are 8 bits" is not only wrong, it's hopelessly wrong, and if you're still programming that way, you're not much better than a medical doctor who doesn't believe in germs. Please do not write another line of code until you finish reading this article.

_________________
I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 10:45 am 
Offline
Enthusiast
Enthusiast
User avatar

Joined: Fri Jul 19, 2013 7:36 am
Posts: 165
Location: Novosibirsk
User_Russian wrote:
...., as I understand, plan to remove only support ASCII. About modernization the compiler, nothing is written. I'm not sure that the compiler will support UTF-8, but this question should answer Fred.
....

I do not hope that Fred is this idea will be supported, but dreaming, have the full right :)

_________________
Dawn will come inevitably.
His (http://translate.yandex.ru/) English is not as good as we would like
If the English text is not correct, please correct me in private message


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 11:33 am 
Offline
Addict
Addict
User avatar

Joined: Wed Aug 31, 2005 11:09 pm
Posts: 3669
Location: Italy
A big LOL at all the misuse of the "modernization" word.
You could say PB has been "modernized" by adding unicode if that were missing, because it's undoubtedly needed today and indeed it would modernize the language. Or if PB were introducing x64 code generation, an enormous step forward for an indie compiler.

Removing stuff from a compiler does not "modernize" it and should be plain obvious, it just remove features and in some way make it less legacy compatible if you want. Removing something seldom needed anymore can be justifiable and saw as a way to streamline the compiler, making it easy to maintain or whatever. Anything you want but does not modernize it at all since nothing is added that was missing before. The compiler is still the same with less capabilities.

So please stop talking about modernization, especially when PB is still generating sometime wrong code for basic logical expressions after 10+ years of life, because it just sounds comical, at least to me.

And about all the incredulity about people not wanting to use unicode in some cases. There is nothing to be scandalized about.
Just read again the posts explaining the reasons. No one is saying this thing will make impossible to use PB with ascii data.
Just less easy, maybe a little slow, maybe requiring some more code, maybe a little more bloated, etc. All this would be avoidable using ascii as it is available now.

I don't understand why you can't simply state your concrete reasons pro and against, using your own words if possible instead of quotations, and let others do the same without labeling them as dinosaurs wanting to program in ascii with CP/M-80, as they were missing something you acutely grasped. They have their reasons, and collect them here is the purpose of this thread.

_________________
Philosophy is questions that may never be answered. Religion is answers that must never be questioned.

[ My little PureBasic review ]


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 12:15 pm 
Offline
PureBasic Expert
PureBasic Expert

Joined: Sun Aug 08, 2004 5:21 am
Posts: 3268
Location: Netherlands
Fred, if you are considering to make this switch to unicode only, please also consider to raise the minimum requirements of the 5.40 release to include SSE2.
SSE2 has been around for 14 years and all x86-64 CPUs are supporting it. You could probably improve the speed of several parts of PB significantly by using SSE2 optimized routines.

_________________
macOS 10.14 Mojave, PB 5.62 x64


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 12:19 pm 
Offline
Enthusiast
Enthusiast

Joined: Tue Jan 25, 2005 7:01 pm
Posts: 459
Location: Canada
luis wrote:
things

Well, pro reasons are obvious :
_make some truly international programs
_make some use of those nice standards
_Less work for pb's team

Con is obvious also:
_I don't want to learn anything new and I fear it'll break my software even though I didn't even tried to compile it in unicode.


Top
 Profile  
Reply with quote  
 Post subject: Re: Removing 'ASCII' switch from PureBasic
PostPosted: Wed Aug 06, 2014 12:32 pm 
Offline
Addict
Addict

Joined: Wed Nov 12, 2008 5:01 pm
Posts: 1023
Location: Russia
Not all applications can be compiled in Unicode without substantial modifications to the code.
Example. viewtopic.php?p=450133#p450133
And what for is necessary Unicode if the application (eg DLL) enough ASCII? In order to work with strings become even slower?

Do not write that Unicode is cool! Not all applications really need Unicode!

_________________
Library XP_Menu_Lib - office menu; HID_Lib - USB Library
Torrent client - pbTorrent (source code); Create driver in PureBasic.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 211 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 15  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: Exabot [Bot] and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  

 


Powered by phpBB © 2008 phpBB Group
subSilver+ theme by Canver Software, sponsor Sanal Modifiye