Programming Languages

I'll admit it, I hate programming languages! I know what I want to write and I understand how it should work under the covers. I learned machine-language on a PDP-8 in middle-school. So when I write a line of code, I expect to have a very good idea about what the computer is going to do with it.

With the onslaught of new languages, I just find that they get in the way of what I want to do. I know what I want the computer to do and the programming language is nothing more than a tool to accomplish this task. I really don't care what I use as long as I can do what I want in it.

Of course, having type safety, classes, etc. in a language is helpful, very much so, but not when it gets in the way of the methodology I want to use. I know I am giving myself away as a dinosaur, but my favorite environment is C++ when used as "C with classes." I know *exactly* what it will do and I can verify it with the assembler output if I am surprised.

My epiphany moment happened when a friend was showing the same program implemented in Julia and then Python. I found Julia almost unreadable. Why? drum roll please:

The language did too much! That's right, the language abstracted too much. As a C guy it was not obvious to me what was happening. My colleague had to explain the syntax and what the environment was doing.

In the C programming language the syntax is very simple and to the point. Every statement is more or less one logical operation. I find, for me at least, that operators that are logically consistent are easier to conceptualize and debug. Operators that do "too much" tend to make in depth knowledge of the language more important than it need be. As a young programmer in the 1980s, we had the notion that people unfamiliar with a particular language, but at least familiar with programming, should be able to read *any* code.

This was the light over my head this afternoon. This is why I HATE perl. This is why I don't like Julia. The reason was this: you needed to know the "language" before you could understand the program. In C, the "language" was simple. People familiar with basic programming concepts could read it easily. With something like perl, obscure syntax shortcuts can make a program very difficult to read if you are not an experienced perl programmer. This is a problem with development, maintenance, and long-term value of code written for a project. Nothing will free you from having to re-write portions of code when systems change, but an easily readable and understandable syntax will make a port/rewrite much easier.



要查看或添加评论,请登录

Mark Woodward的更多文章

  • Why is retro-technology making a come-back?

    Why is retro-technology making a come-back?

    I was at a party the other day and I saw a younger person using an old film camera. It was interesting that they were…

    4 条评论
  • Dependency Hell

    Dependency Hell

    Someone posted on a group that I follow: "The rise of virtual machines and containers is an admission of systemic…

  • Boot issues with the EXT[3,4] Journal

    Boot issues with the EXT[3,4] Journal

    At my work we have had a number of hitherto unexplained failures, but recently we had a problem that made the cause of…

    2 条评论
  • No Virginia, There is no AI

    No Virginia, There is no AI

    I have been programming computers since my junior year of high school. I built my first microcomputer in my sophomore…

  • Small SBC Computers

    Small SBC Computers

    I wrote about an Orange PI ZeroW 4G in my last post. I made the argument that computing is basically free at this point.

  • The Future of Enterprise Linux and the Hope We Can Avoid another Unix War

    The Future of Enterprise Linux and the Hope We Can Avoid another Unix War

    Through the 1980s various Unix vendors competed with each other. With licensed versions of AT&T Unix and BSD utilities,…

    1 条评论
  • “A riot is an ugly thing and I think it is just about time that we had one!”

    “A riot is an ugly thing and I think it is just about time that we had one!”

    Before we get into RedHat’s “RedHat Enterprise Linux” or “RHEL” and their latest moves, we need to first understand…

    5 条评论
  • More RedHat Hypocrisy

    More RedHat Hypocrisy

    First: These are my words and they have absolutely nothing to do with any current or former employer. In response to:…

    2 条评论
  • Start-ups and Success in Business

    Start-ups and Success in Business

    I've worked mostly at start-ups in my career. I think I'm probably an addicted gambler, there has to be something wrong…

  • SQL vs NoSQL

    SQL vs NoSQL

    SQL vs NoSQL There has been a war that has been raging for over 10 years across software development: SQL vs NoSQL…

社区洞察

其他会员也浏览了