Programming as a hobby

Chat about just about anything else
Forum rules
Do not post support questions here. Before you post read the forum rules. Topics in this forum are automatically closed 30 days after creation.
freesoftware

Programming as a hobby

Post by freesoftware »

I studied a course a few years back and I learned how bad the Microsoft technology was. We used Xamarin which always seemed broken. All of the commercial stuff annoys me, even large configurations like KDE, it's just too complicated for what I need. When I take my first 'holiday' from work I'd like to get back to programming. I think Python or web development would be cool.

I'd like to hear from people who do programming as a hobby, not a job. What do you enjoy using?

Over the years I tried PHP and I never made any progress with it because nothing that I wrote ever ran (lol) then by chance I discovered that SELINUX was blocking all my file changes so the web server never saw my files, everything was blocked. If I use PHP again I'll run it in a VM with SELINUX disabled, but there's no way I'll disable SELINUX for my personal computer.

I want to know what folks here think of these javascript libraries. On my course there was a young guy (17) who was using react and all that other stuff. He said it was very useful to use a JS lib if I ever needed an interface with lots of UI buttons, or if I needed a good layout, but without the need to tinker with CSS.

Work keeps me too busy to do these things right now. Anyhow, PHP and MariaDB might be a good start even if PHP looks kind of ugly. I used some forum software a while ago and the only one I liked was called MYBB, if I recall. PHPBB is old and has legacy options in the admin panel, which I hated. Simple Machines looks really out of date. I like to think that in the near future, I could create a message board system or a chat system that's better than some of the existing software, or at least make something that looks nicer than other projects :-)

/end rambling
Last edited by LockBot on Wed Dec 07, 2022 4:01 am, edited 1 time in total.
Reason: Topic automatically closed 30 days after creation. New replies are no longer allowed.
User avatar
JoeFootball
Level 13
Level 13
Posts: 4673
Joined: Tue Nov 24, 2009 1:52 pm
Location: /home/usa/mn/minneapolis/joe

Re: Programming as a hobby

Post by JoeFootball »

freesoftware wrote: /end rambling
Of the wide spectrum of things that you mentioned, I think that Python is a great place to start. It's already installed in LM, doesn't require a lot of infrastructure, there are so many resources for it, and it's a flexible and powerful language.
freesoftware

Re: Programming as a hobby

Post by freesoftware »

Python is definitely a good language. I spent a lot of time on c++ and c in the past. I could've saved myself a lot of frustration had I used Python instead, lol.

Any practice is good.

Longer term I'd like to focus more on web, and learn how to create chat systems in either PHP or JavaScript. Web development is cool because it lets me avoid the complexity of socket programming. It seems like socket/network programming requires an entire computer science degree... I spoke with a CS student not too long ago and he said that sockets/networks was quite challenging.

Sockets/networking is so important now especially for video: "one-to-one" versus "one-to-many" and how to scale it. That's well above my level at the moment.

I'm unsure on how some things function, like real time notifications on MYBB forums or PHPBB. I think they had notifications but it's been a few years since I used them. Ajax seems like it used to be the thing for updating pages but I'm sure there are many other ways to do that now.
Hoser Rob
Level 20
Level 20
Posts: 11796
Joined: Sat Dec 15, 2012 8:57 am

Re: Programming as a hobby

Post by Hoser Rob »

freesoftware wrote: Thu Feb 18, 2021 3:18 pm I studied a course a few years back .... We used Xamarin which always seemed broken. ...
Actually in those situations it's virtually certain that it was your code that was broken.

You mention starting with C/C++. There are few programming languages that are worse for learning programming. I see so many newbies here wanting to start to learn and starting with C. Really, that's a bit like buying a guitar and starting off trying to play Paganini.

As mentioned, python is a much better place to start.
For every complex problem there is an answer that is clear, simple, and wrong - H. L. Mencken
User avatar
murray
Level 5
Level 5
Posts: 784
Joined: Tue Nov 27, 2018 4:22 pm
Location: Auckland, New Zealand

Re: Programming as a hobby

Post by murray »

While I would definitely recommend Python for a newbie to try although I have trouble bringing myself to use it for my own hobby work. I just can't seem to get over the indenting that Python requires. It just conjures up memories of FORTRAN and COBOL for me, where certain things had to be indented to certain columns in order to work.

I still use PHP for a lot of my old client's websites. And a bit of Javascript. But these days I mainly just use shell scripting and string together all the wonderful CLI tools.
Running Mint 19.3 Cinnamon on an Intel NUC8i5BEH with 16GB RAM and 500GB SSD
Moonstone Man
Level 16
Level 16
Posts: 6054
Joined: Mon Aug 27, 2012 10:17 pm

Re: Programming as a hobby

Post by Moonstone Man »

Hoser Rob wrote: Sun Feb 21, 2021 10:05 am Really, that's a bit like buying a guitar and starting off trying to play Paganini.
https://www.youtube.com/watch?v=NZxppt4G038

Just the first 30 seconds...
AtoshDustosh
Level 1
Level 1
Posts: 7
Joined: Tue Feb 23, 2021 11:58 am
Location: Earth

Re: Programming as a hobby

Post by AtoshDustosh »

I majored in Computer Science in college and at start almost every one I know tells me "You should start with C. It's the basic". That's true. It's just C is way too basic. I mainly work on console applications for now but I can hardly find useful libraries for graphical purposes in C. That's really a pity.
User avatar
Termy
Level 12
Level 12
Posts: 4248
Joined: Mon Sep 04, 2017 8:49 pm
Location: UK
Contact:

Re: Programming as a hobby

Post by Termy »

I use BASH, Bourne Shell, PERL, and occasionally VimScript and AWK. I'm very experienced with BASH and Bourne Shell, and I think I'm fairly decent in PERL, now.

I've also dabbled in all sorts of other languages, like C, Lua, Python, Ruby, HTML, CSS, and JavaScript (Node.JS). My forte is writing CLI programs (typically system tools) and parsing data, but I've dabbled (somewhat successfully) in GUI stuff via GTK in PERL. I find GTK a royal pain in the butt though, so I don't tend to bother with it. If, however, I absolutely needed to knock up a GTK program, I could do it, as long it weren't too complex.

I exclusively use Vi-IMproved as the editor.

I think the best way to have fun with code is to find ways to use it yourself. If you're just writing boring stuff you'll never use, then it's probably not going to be fun or stick. YMMV.

Don't be afraid to "reinvent the wheel", either; several of my projects are my take with features I want, written and maintained in the way I wanted; it's educational, can be fun, and you never know, you might knock up a pretty sweet program. I enjoy rewriting some of my simpler programs in different languages to help me learn how things work in the other language. Some of my PERL programs are actually rewrites and vast improvements over the now very old Shell versions.

Some of my best projects:
Some other good ones:
Last edited by Termy on Thu Apr 07, 2022 12:32 pm, edited 3 times in total.
I'm also Terminalforlife on GitHub.
freesoftware

Re: Programming as a hobby

Post by freesoftware »

AtoshDustosh wrote: Thu Feb 25, 2021 1:39 am It's just C is way too basic. I mainly work on console applications for now but I can hardly find useful libraries for graphical purposes in C. That's really a pity.
Yes that is the problem. You'll never be able to do anything with data except write how a driver communicates with the kernel and things of that nature. It's good for basics.
Termy wrote: Thu Feb 25, 2021 7:44 am My forte is writing CLI programs (typically system tools) and parsing data, but I've dabbled (somewhat successfully) in GUI stuff via GTK in Perl. I find GTK a royal pain in the butt though, so I don't tend to bother with it. If, however, I absolutely needed to knock up a GTK program, I could do it, as long it weren't too complex.
People have told me not to invent my own UI, just use one that already exists..... Then I have to work with another lib which is what I try to avoid because of the needless complexity it brings, which is well above my skill level as a hobby programmer who doesn't actually have enough time to write anything due to full time physical work. If I was a qualified programmer on a $100,000 USD salary with decades of experience then I might use GTK to write a file manager or another complex application, but for somebody such as myself there is no need. A user interface can utilise shortcut keys for all it matters, no need for drag and drop and fancy things.

While I'm here I recommend the book Computer Science Distilled, for all forum members. It's short but it covers basic computer science concepts for handling data. I found extremely helpful theory in that book.
User avatar
AndyMH
Level 21
Level 21
Posts: 13728
Joined: Fri Mar 04, 2016 5:23 pm
Location: Wiltshire

Re: Programming as a hobby

Post by AndyMH »

I'd like to hear from people who do programming as a hobby, not a job. What do you enjoy using?
Pascal with the lazarus IDE, not mainstream, but I like it, gets the job done. Beyond that, some bash is essential, done a bit of C++ (Arduino for IoT) and a bit of python (not my favourite), looked at perl - gave up.
Thinkcentre M720Q - LM21.3 cinnamon, 4 x T430 - LM21.3 cinnamon, Homebrew desktop i5-8400+GTX1080 Cinnamon 19.0
Moonstone Man
Level 16
Level 16
Posts: 6054
Joined: Mon Aug 27, 2012 10:17 pm

Re: Programming as a hobby

Post by Moonstone Man »

AndyMH wrote: Wed Mar 03, 2021 9:01 pm
I'd like to hear from people who do programming as a hobby, not a job. What do you enjoy using?
Pascal with the lazarus IDE, not mainstream, but I like it.
I know of someone named Andy, who lives in the UK and programs in Pascal. Do the words 'Gerbil' and 'Hamster' have any meaning to you other than their species of rat? You might have to think back 15 or more years.
User avatar
AndyMH
Level 21
Level 21
Posts: 13728
Joined: Fri Mar 04, 2016 5:23 pm
Location: Wiltshire

Re: Programming as a hobby

Post by AndyMH »

Unfortunately no, or you will have to give me more clues :D, certainly wasn't doing anything with pascal in the early '00's. Before I (foolishly?) decided to do foxclone a couple of years ago, my last major foray with pascal was an order processing system, about 13k LOC. To give you an indication of age, it was Turbo Pascal V1.0 and ran under CP/M :)
Thinkcentre M720Q - LM21.3 cinnamon, 4 x T430 - LM21.3 cinnamon, Homebrew desktop i5-8400+GTX1080 Cinnamon 19.0
Moonstone Man
Level 16
Level 16
Posts: 6054
Joined: Mon Aug 27, 2012 10:17 pm

Re: Programming as a hobby

Post by Moonstone Man »

AndyMH wrote: Wed Mar 03, 2021 9:18 pm Unfortunately no, or you will have to give me more clues :D, certainly wasn't doing anything with pascal in the early '00's. Before I (foolishly?) decided to do foxclone a couple of years ago, my last major foray with pascal was an order processing system, about 13k LOC. To give you an indication of age, it was Turbo Pascal V1.0 and ran under CP/M :)
Ok, no problem. I was wondering if you and I had met in a previous life. Those two words would have elicited a positive response if you were the same Andy. Thanks, and back to the drawing board for me :)
User avatar
Drugwash
Level 5
Level 5
Posts: 733
Joined: Fri Jun 07, 2019 6:40 am
Location: Ploieşti, RO
Contact:

Re: Programming as a hobby

Post by Drugwash »

8-bit assembler for Z80 CPU, cracking Spectrum games for infinite lives or whatever.
16-bit assembler for 386+ CPU, improving the Win98 loader (WIN.COM -> WLL.COM) to display an XP-like startup screen.
C/C++ to aid in building Miranda IM plugins.
AutoHotkey for building from simple scripts to various complex applications that I still currently use under Wine in Mint 19.2.

If there is something I learned during this "voyage" is that the so-called progress is a lame excuse for incompetence paired up with commercial interest.

In 8-bit programming you get eight bits in a byte, each of which being a potential boolean flag for an operation or whatever, so you can have eight YES/NO states within a single byte. At most you can have a return boolean byte (eight bits). In today's computing you get 64 bits - eight bytes - to return a freaking zero or one boolean. A QWORD (64 bits) could potentially contain the state of 64 flags. But who would bother to think in such detail nowadays... Let's waste memory, storage, CPU cycles... just because we can.
JosephM
Level 6
Level 6
Posts: 1459
Joined: Sun May 26, 2013 6:25 pm

Re: Programming as a hobby

Post by JosephM »

I have to agree with someone above who said Python. It's straightforward to learn. It's very mature with libraries for any discipline you want to experiment with. From web, utilities, data science, or desktop applications. It's pretty quick to develop with. Even writing basic GUI apps is easy with either Gtk or Qt.
You mention starting with C/C++. There are few programming languages that are worse for learning programming. I see so many newbies here wanting to start to learn and starting with C. Really, that's a bit like buying a guitar and starting off trying to play Paganini.
This I can't really agree with. Neither do a lot of intro CS courses. In part it depends on what your goals are.
It's just C is way too basic. I mainly work on console applications for now but I can hardly find useful libraries for graphical purposes in C. That's really a pity.
Not sure I understand this. Gtk is written in C. If it's C++ there is Qt. And those are just the main two on Linux.
When I give opinions, they are my own. Not necessarily those of any other Linux Mint developer or the Linux Mint project as a whole.
User avatar
Termy
Level 12
Level 12
Posts: 4248
Joined: Mon Sep 04, 2017 8:49 pm
Location: UK
Contact:

Re: Programming as a hobby

Post by Termy »

If you're not too interested in OOP (Object-Oriented Programming), or you're happy to be gently nudged towards OOP, then I recommend Perl; it's been around for a bit longer than Python, and itself still has plenty of libraries, many of which can easily be acquired from CPAN or the Ubuntu repositories. I personally don't like Python, so I wanted to offer an alternative for the like-minded.

Similar to Python, Perl also allows you to write pretty much anything Python can, like games, GUIs, TUIs, command-line tools, websites, etc.
I'm also Terminalforlife on GitHub.
User avatar
AndyMH
Level 21
Level 21
Posts: 13728
Joined: Fri Mar 04, 2016 5:23 pm
Location: Wiltshire

Re: Programming as a hobby

Post by AndyMH »

If you're not too interested in OOP (Object-Oriented Programming)
Johnny-come-lately to OOP, back when I started it was SSADM. I can recommend OOP, Needs a shift in thinking, but you end up with code that is much easier to maintain and if you are developing event driven applications I would say it was a must.

Not a fan of perl, bought a book in it and decided it wasn't for me.
Thinkcentre M720Q - LM21.3 cinnamon, 4 x T430 - LM21.3 cinnamon, Homebrew desktop i5-8400+GTX1080 Cinnamon 19.0
User avatar
Termy
Level 12
Level 12
Posts: 4248
Joined: Mon Sep 04, 2017 8:49 pm
Location: UK
Contact:

Re: Programming as a hobby

Post by Termy »

@Andy: That's the thing, Perl allows object-oriented programming as well as the traditional approach, library allowing. I find it hard to use or read documentation about Python without OOP being involved at almost every step. I agree that OOP has its place, I'm just not a big fan of it; it's a means to an end, for me. I think OOP has the tendency of turning (not inherently) people's projects into spaghetti, which is one of the reasons I'm not too into it; YMMV, of course.

I'm not saying I think Perl is perfect -- far from it -- Perl can be a right pain in the backside sometimes, but it's nonetheless an option. I also appreciate various aspects of Python, such as the indentation rule encouraging sane formatting of code.
I'm also Terminalforlife on GitHub.
User avatar
Drugwash
Level 5
Level 5
Posts: 733
Joined: Fri Jun 07, 2019 6:40 am
Location: Ploieşti, RO
Contact:

Re: Programming as a hobby

Post by Drugwash »

Termy wrote: Sun Mar 14, 2021 11:21 am the indentation rule encouraging sane formatting of code.
Nice for coders. On the opposite side there is javascript Minify which makes it all an endless string of characters with no space to breathe in-between. Nice for those who may want to hide/protect their code from (amateur) prying eyes.
Personally I'd send to hell any programming language that would try to enforce any strict formatting rules. Coders usually have their own habits, such as some using one-true-brace, while others vertically aligning open and close brackets, while others not giving a flying funk on aspect as long as the code works properly. Some keep a tight line size and break down statements into multiple lines in order to keep the overall formatting, while others put it all in a single line no matter how long it may be.
The end user couldn't care less about the internals as long as the end product does its job.
And the coder as well doesn't care as long as they're the only one messing with the code.

From the coder's point of view the language should be first and foremost intuitive, easy to learn, and flexible enough to allow any coding style. Then it should be multi-threaded, and compiled, not interpreted - for maximum speed. Now gather all your languages' capabilities and compare against these criteria, see which ones fit best. The rest are just for playing around, not for serious work.
User avatar
Termy
Level 12
Level 12
Posts: 4248
Joined: Mon Sep 04, 2017 8:49 pm
Location: UK
Contact:

Re: Programming as a hobby

Post by Termy »

That reminds me of Perl Tidy; it formats the code for you, which is especially useful if you're working with some unusually-formatted code. I've seen the squishing thing too, and it's a pain in the butt to parse. I always thought the main reason for squishing code was to save space, at least on the web, but I suppose it makes sense to do it for obfuscation.
Drugwash wrote: Sun Mar 14, 2021 11:46 am From the coder's point of view the language should be first and foremost intuitive, easy to learn, and flexible enough to allow any coding style. Then it should be multi-threaded, and compiled, not interpreted - for maximum speed. Now gather all your languages' capabilities and compare against these criteria, see which ones fit best. The rest are just for playing around, not for serious work.
I disagree with this entirely. You've said that you can't get "serious work" done with interpretive languages and that they're only for "playing around", which, I'd argue, is both incorrect and fanatical.

I realise going for a much lower-level language is ideal for performance and absolute control, but that doesn't take away from what interpretive languages offer, which is a heck of a lot; the abstraction they offer allows the mind to focus more on the task, not the how, saving both time and energy. Also, a lot of these interpretive languages offer libraries many of which themselves were written in a low-level language like C.

If you'll excuse the facetiousness: you might as well write in binary. :lol:
I'm also Terminalforlife on GitHub.
Locked

Return to “Open Chat”