|Learning to Program Again
||[Apr. 14th, 2016|11:49 pm]
I'm taking a bit of time to do a bunch of things I haven't done in a while. One of them involves coding.
So, at work, we have insane levels of calls, and things have been a bit bad recently. That's a different story and it seems like it might be calming down, or at least reaching that crisis level that might result in things happening. Anyway, I digress.
One of the things we don't have is any kind of call logging system. I decided I wanted to try to expand my coding skills a bit and needed a project. Then I put the need at work for a call logging system together with the need for a project and, wham, I've been beavering away on it ever since.
It's been an interesting journey. Part of me really, really doesn't want to touch code at all, especially not in any work setting. Too many bad memories. On the other hand, another part of of me is finding the whole thing therapeutic.
It was a horrible language because, back then, coding standards regarding it didn't exist, and neither did the DOM. The DOM, or document object model, was a standard they released to allow code to interact with the HTML on a web page.
Instead, I wanted to stick with languages I knew, so I was going to use PHP. PHP has also moved on since I was using it. I think PHP, more than anything, was the language that convinced other languages that having a dictionary type as an integral part of your language is really useful. Unfortunately, its time has passed as other languages have introduced features and now it's been PHP playing catch up.
One of the things that Ruby introduced was the idea of the framework, or MVC design pattern. This has been a good thing for PHP and stuff has risen up to fill the void in for MVC design patterns. The leading one seems to be Symfony, though Laravel also is popular.
I was going to learn Symfony and use this to write the backend of my application, the part that the Angular talks to. However, I spent a few days struggling with it before going to Python and Django.
I never thought I'd like Python. It's a language pplfichi liked and, for because of the way it was designed, really, really bad for web design. At least, that was, until MVC patterns came along. Now it's pretty awesome because, as I see written everywhere, it's easy to learn. But more then that, me and Django click in some odd way. Me and Symfony don't. Whether it's bad memories, the sex change or what, I don't know, but I'm starting to pledge my allegiance to the Python side of programming.
Django is nice. It describes itself as for "Perfectionists with Deadlines", a philosophy I can absolutely sign off on. It's wonderful because you tell it what you want it to do and it goes and does it. There's lots happening under the hood, but the syntax is warm and welcoming, as opposed to Symfony's syntax, which uses far too many annotations in the comments, which is just wrong.
Angular and Django Rest appear to get on quite well, once I got past Cross Site Forgery Protection, something I really don't understand, but managed to make work. I've constructed simple administration interfaces in Angular and now I'm working on some more complex things.
Where it will go from here, I don't know.