I am encountering employment difficulties with Perl lately, so I decided to cross the gap. A "reasons why" post is also available.
I started less than one week ago, so coding is still a bit hard: I am mostly evaluating expressions in the repl, I use
bpython and feel extremely satisfied with it.
For now, the feeling is smooth and I am quite happy: everything I am used to in Perl can be found in Python. I see no major differences between the two languages. I am a bit surprised how sometimes the Python core have batteries included, you don't necessarily need to install modules. The only thing I miss is Mojolicious, I mean, I know there are similar tools, but I have habits, and they should simply evolve.
So far I am reading:
Planning to read:
Relatively to the language itself here are few things I noticed:
- absence of sigils (
@those %things $you *know): I really dislike it, it makes code less readable in my opinion. I would be tempted to systematically use
two_wordssyntax for variables. With sigils, you target easier what is a variable or what is a keyword. Maybe I am too much used to Perl and that on the long term, this is really a minor issue, especially that functions require parenthesis with Python3, you can’t write
print 'perl is cute'.
- functions require parenthesis. It’s a lot of parenthesis typing, I guess my text editor is not configured the right way
- I miss
Data::Printer, one of my favorite Perl debugging tools ever. I install it everywhere, even for the simplest project. I searched for equivalents, but none of the one that I found, like
data_printer(directly inspired from the Perl implementation) or
objprintare as simple to use out-of-the-box than
Data::Printer, that also have a better display