đź“– Best programming languages for civil engineers 2025
learn about pros and cons of each language
đź“– Best programming languages for civil engineers 2025
Overview
- So, you’ve already decided to learn programming to automate your work, but can’t decide on which programming to choose
- This post contains most of popular programming languages used by civil engineers, all pros and cons are written from perspective of civil engineers
- I am also not going to include basic info about each language, you can just google or ChatGPT that part
- I’ll try my best to explain pros and cons of each languages but you have to make own choice depending on your domain or use case
- Civil engineering is too large domain with lots of niche and sub domains so what works for 99% people might not work for you
Languages
VBA
- Difficulty Level : Easy
- Pros
- No setup required to start coding. You can just start coding right away this is massive advantage, since setup is where most people get stuck or procrastinate.
- API to connect Excel with lot of popular software’s AutoCAD, STAAD, ETABS
- Direct Integration with other office software like Word, PowerPoint
- Macro Recorder (Excel has option to auto generate code for your task when you perform task manually), this used be big deal but now since AI tools like ChatGPT it’s not that important.
- Since Excel is used by most organizations, you don’t need any special permission to use or run your macro.
- Easy to share your automation among your friends or colleagues. This is really important thing if you need feedback from other people or want to get advantage of your automation.
- Cons
- Outdated, VBA lacks lot of features which are available in other modern programming languages. You’ll only notice this after you learn another language. This makes it bit harder to develop complex software.
- Slow Performance, VBA is slowest language among all programming languages in this list, it’s not a big deal for most of tasks, it’s only problem when you need to do some heavy calculation which might take more than few minutes. This is also issue when you need to connect with other office software like AutoCAD, STAAD, ETABS.
- Lack of Future Development, VBA is no longer actively developed, so you won’t see any new features/tools related to it in future
- What do I think about it?
- I have been coding for more than 10 years now, and I still use VBA on regular basis, it’s perfect for smaller or medium size projects, especially when it involves Excel. Lot of my personal tools which I use in my daily routine are written in VBA.
- Even after all of this limitations, I still recommend VBA to all beginners. VBA will give you best value for time spent.
- If you decide to use VBA then check out Best Resources to learn VBA
- Additionally go through all post with
vba
tags on this website vba
Python
- Difficulty Level : Normal
- Pros
- Python has ridiculous amount of libraries and frameworks, you can do lot of stuff with very less code.
- Python has largest community support across all programming languages in this list. You’ll find lot of tutorials, books, online courses, open source software’s or packages to learn and improve your skills.
- Lot of Modern Software tools to develop your project.
- Cons
- Python don’t have direct integration with lot of popular tools like Excel or AutoCAD so you’ll have to rely on third party libraries to connect with them.
- Difficult to set up for beginners, users have to deal with command line tools to install and configure python.
- Sharing python automation among your friends and colleagues is bit tricky since script requires python setup to run. Your only option is build installer using third party tool or do python setup on each computer.
- What do I think about it?
- I am still bit new to python learn it around mid-2023, and since VBA and C# covers most of my use cases it’s my least used language. I do plan to develop some web apps with Python in future, since Python has lot of tools in that area.
- Python is most versatile language among all programming languages in this list. It’s perfect tool which is going to help you throughout your entire life.
- Pick this as your first language if you really serious about automation and programming.
- One major reason I don’t recommend python to beginners is that python has too many options in everything, too many libraries, too many open source software’s, too many frameworks, it’s easy to get lost in all of them. This is overwhelming for beginners.
C#
- Difficulty Level : Hard
- Pros
- It’s super-fast, C# have best Performance among all language in this list.
- Most of you popular software like Excel, AutoCAD, Revit, STAAD, ETABS have direct API to connect with C#.
- C# also have good security features to encrypt and protect your code if you don’t want to share it with others or protect your intellectual property.
- Cons
- Complex to setup with steep learning curve, you need to learn lot of stuff before you can start coding in C#.
- Require lot more code than VBA and Python to do same task.
- Lack of packages for engineering. Most of engineering libraries are developed using python.
- What do I think about it?
- It’s my current favorite language to build large projects.
- It’s great language to complex projects, C# make it really hard to make mistakes.
- Don’t choose this as your first language, it’s not beginners friendly.
- It’s good language for large projects or if you want to sell your software commercially.
Apps specific languages
Auto Lisp
- Difficulty Level : Easy
- Pros
- You can do lot of stuff with very less code
- It’s compatible with most of the CAD software without change. You only need to write your script once and it will work with any AutoCAD version and other CAD software like ZWCAD, BRICSCAD, GSTARCAD.
- Just like Excel VBA, it does not require any complex setup. AutoCAD natively supports Auto Lisp out of box.
- Cons
- Limited Scope since it’s usable only with AutoCAD, can’t use it for anything else.
- No API available if you work with other Apps like Excel, STAAD, ETABS
- Don’t have library or package manager, you have to work with built in function only for every task.
- What do I think about it?
- I not fully familiar with Auto Lisp, since I don’t see any point in learning it. But I still use it occasionally since few of my clients use it for their projects and I have to build my solution around it.
- Also, personally I find Auto Lisp syntax/code very weird and hard to read.
- Only learn this if AutoCAD is the only software you use most of time or planning to do freelancing work using Auto Lisp.
Dynamo
- Difficulty Level : Normal
- This part is still work in progrss since i’ve never used Dynamo in my life. So will take feedback from other users.
Conclusion
- If you have admin access to your computer then choose best language as per your needs.
- If you’re employee and don’t have admin access to your computer then
- Choose language which you can use at work
- There’s no point in learning language which you can’t use in your daily routine
- If you’ve specific requirements then it’s better to discuss this with your department head or your IT department first before investing more time
If you have any questions or want to discuss something : Join our comment section
This post is licensed under CC BY-NC-ND 4.0 by the author.