python 3 costs too much

update: i made good; heres fig 4.0– fig 4.0 (python2, includes command help) and if you want to try the portuguese version, here is figueira 2.9.

ive been coding in python for more than 6 years. ive written a programming language in python; i’ve always known about python 3.

versions 0.4-2.9 of fig (“fig basic”) are written in python 2; versions 3.0-3.1 are done in python 3. it was a fair amount of work to get everything encoded; whether dealing with stdin, stdout, print, or file input and output, python 3 wants its hand held through every string it processes. compared to python 2, python 3 is brittle.

python 2 is flexible. it may be “too flexible” for google, but google can afford to use python 3. some people have the patience or preference for it.

i never did. i never wanted python 3, i never needed python 3. but when people started to switch, and the python foundation said it would drop support for python 2 in a few years, i thought: “maybe i should make a python 3 version of fig, just to try it.”

fig 3.0 came out 11 months ago, in 2015, followed by 3.1 in january of this year. ive used both versions of fig: 2.x and 3.x all year long; ive used fig to remaster an operating system (its about 50% bash code, but thats fine; all of it is called from fig.)

the fig 3.x experiment is complete; and so is the time i choose to spend on python 3.

if there is a future version of fig, it will be fig 4.x, and it will be based on python 2.

note that fig development mostly stopped about 10 months ago; i consider it stable, but today i was trying to process two large lists of files, and fig 3.x wasnt up to the task. it is supposed to catch the error and revert to utf-8 if ascii couldnt be handled, but it was not able. was this a special filename? sure. but is fig 2.x handling the task better? of course.

thats the last straw for me as far as python 3 goes. ive never had fun using it like i do with python 2, ive never ever managed to make it as reliable when it comes to a feature as intrinsic as string handling, and ive read way too many tutorials, spent too much time on conversion utilities– in short: f*** python 3 and the horse it rode in on.

i have a 25 line program that i need to work today, and only one command in fig 3 is unavailable in python 2. (edit: or so i thought– ive combed through the source of fig 2.9 and 3.1, i cant find any difference in command sets between them! good thing the figueira version only took a couple minutes…)

well, figueira– the portuguese version– is based on python 2, and since i had a copy of it handy i just translated the fig 3 program to figueira. here is a sample:

f1 comando meio 1 1 
f2 comando meio 2 1 
o ordaberto f1
p ordaberto f2
z "dircmp: usage: dircmp file1-or-folder file2-or-folder" print end


z f1 impressha " only: " impress
paraem y o
yin incad p y smb
seigual yin 0
z y impress

z "" impress

and the translated version of dircmp has now produced the file i asked of it. is fig 3.x fixable? it took almost a year to even be sure it wasnt good enough! but its not, and when the python foundation dumps python 2 in 2020, im hoping that pypy will do.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s