Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Niche programming

by maurocavendish (Acolyte)
on Apr 05, 2020 at 15:31 UTC ( [id://11115090]=perlquestion: print w/replies, xml ) Need Help??

maurocavendish has asked for the wisdom of the Perl Monks concerning the following question:

Hi, fellow monks!

I'm a returning Perl programmer, stuck in a vortex of bad management and poor quality code at my regular job in modern IT sweatshops in Italy.

At the start of my career, I worked few years doing software/hardware monitoring in Perl, and I loved it. I am a self-taught 42-years-old programmer, with no CS/maths education. I'd like to take some time to explore my possibilities in my spare time, for fun and growth. A lot of the sexier technologies are out of my reach, because I cannot afford years of mentally and financially taxing college level studies. Also, I have a very practical mindset, more keen on simple, concise solutions to well-defined problems. I'm thinking on the lines of things like Domain Specific Languages, APIs, focused libraries.

Could you provide some insights into niche but deep domains I can tackle with Perl, without having to resort to learn advanced college stuff or crazy architectural patterns? I'm aware I can do couple Web projects, but it would feel like being at work again, and I've also become weary of Web Development/CRUD apps/Scrum gimmicks/you name it. I'd love to find concrete domains that I can tackle with a somewhat scripting mindset for my leisure and enrichment in the next couple years. I hope I make sense, and I wait to be enlightened by your comments!

Replies are listed 'Best First'.
Re: Niche programming
by Fletch (Bishop) on Apr 06, 2020 at 14:09 UTC

    Maybe a bit weightier than you're looking for, but MJD's Higher Order Perl is still useful for expanding your programming horizons in a functional direction: https://hop.perl.plover.com (there's a link to a PDF and all the ISBN info if you're looking for a dead tree copy)

    The cake is a lie.
    The cake is a lie.
    The cake is a lie.

Re: Niche programming
by 1nickt (Canon) on Apr 05, 2020 at 15:58 UTC

    Hi, welcome to the Monastery and back to Perl, the One True Religion!

    I suggest that despite your weariness of "Web projects," you reconsider what a modern web app is. If your interest is "things like Domain Specific Languages, APIs, focused libraries", you will find that using a modern lightweight application framework lets you focus on your data and logic and not on the infrastructure.

    I would start with building a tiny REST API using Dancer2. The moment you install the skeleton app you can write a Dancer2::Plugin class that provides your own DSL to your code and indirectly to your callers.

    Give it a try. It's the most fun you can have with your robe on.

    (Choosing the subject domain is not something on which I would presume to make a suggestion.)

    Hope this helps!


    The way forward always starts with a minimal test.

      Truth be told, I do not hate the Web. I especially love the API concept. Maybe I just hate being a cog in a software assembly line lol. The past days I was amused to find out Anilist has a public GraphQL API I can query to obtain data about manga/anime. I played with it a lot, and it was bliss.

      I'm going to dig into the modules you mentioned. Also, it's worth noting that I am not yet fixated on a particular domain. I'm more of a generalist anyway, given my philosophy background. Recently I watched some conferences on RPC/REST/GraphQL APIs, and it was a lot of fun. Maybe I should give the web world another try on my terms. I'm just not attracted by the combo of fancy UIs + monstrous BEs cobbled together by the labor of wage slaves like me lol.

      Thanks for your input!

Re: Niche programming
by Ea (Chaplain) on Apr 06, 2020 at 15:40 UTC
    Personally, I take solace in numbers! A nice warm up exercise is 100 PDL exercises, which are still looking for 20 solutions, if you fancy the challenge. Or branch out to other scientific projects.

    Interested in Data Science? There are a lot of perl modules out there that will let you build plenty of data science tools, but not a lot of instruction in how to go about doing that or what you might want to do. It's a big enough workspace that there will be something in there at your skill level and there is great value in telling people how to use the existing code.

    Ea

    Sometimes I can think of 6 impossible LDAP attributes before breakfast.

    Mojoconf was great!

Re: Niche programming
by karlgoethebier (Abbot) on Apr 05, 2020 at 18:39 UTC
    "...patterns..."

    They are everywhere. The problem is to recognize them 🤪. See here. Good luck and best regards, Karl

    «The Crux of the Biscuit is the Apostrophe»

    perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help

Re: Niche programming
by holli (Abbot) on Apr 07, 2020 at 16:08 UTC
    Concise solutions to well-defined problems and strong in Domain Specific Languages? You want Raku.


    holli

    You can lead your users to water, but alas, you cannot drown them.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11115090]
Approved by 1nickt
Front-paged by 1nickt
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-26 02:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found