I have been writing web applications for quite a while now. For a more significant part of this experience, I had been developing on top of an existing CMS type environment; moodle, drupal, WordPress, or the like. Very few of these are web applications written from scratch. I typically used PHP when I write for the web because it has the lowest barrier of entry. You can write HTML and then insert your PHP wherever you need dynamic content. I used to hate Javascript, which in turn meant I was not too fond of Ajax calls. So my web applications always submitted forms and handled the details in PHP.
About 5 years back, I got introduced to AngularJS. I still wasn’t fond of Javascript, but Angular made it seem a little better to deal with JS. When angular 2 came out with Typescript, I immediately boarded that ship. Now typescript isn’t exactly different from Javascript, but the fact that they aren’t the same keeps me going. I tried to learn Vue and ReactJS in the last few years, but somehow I am completely bought into the angular paradigm, and I enjoy it better.
Fast forward to today, I am trying to get myself to write a web application in the old school way. Instead of PHP, though, I am trying to use Common Lisp. It should be easy, right? I’ve done this for the longest part of my carrier. It’s not that easy. I keep thinking this is so much easier to do with typescript. Why can’t I include a library to do this? How much HTML do I have to write? I have a never-ending list of complaints, and I haven’t written even one page of HTML so far.
I am sure there are excellent frameworks in CL that lets me develop applications in a modern way. The real issue boils down to my comfort level with Lisp. I am a total newbie, and I need to build simple stuff where the stuff itself does not introduce complicated requirements. You know, like a ToDo list. I know from my experience in Python that while you can use Django to build a todo list, you likely won’t do that. That is the exact place am stuck at with CL. I know I want to keep it simple and not introduce too many things into the mix, while I get comfortable with the language itself.
Hopefully, this year I teach myself how to deal with this situation and develop a couple of web applications in CL. Do lookup my GitHub later in the year for the code.