Additional Final Draft Reader Response.
Python is a distinguished, class-driven programming language with flexible behaviour that executes code line-by-line (Python Software Foundation, n.d.). Its straightforward and easy-to-learn syntax prioritizes readability, making it a great choice of programming for new learners (Kitthu, 2024). According to the webpage “10 Important Features…” (Unstop, n.d.), Python provides a variety of libraries (e.g. Standard library) that facilitate integration with other computer languages like C, JSON, Java, and more. This cross-platform compatibility makes it highly adaptable. In addition, Python is accessible for everyone to use, encouraging innovation and community collaboration. With its strong community support, ample resources for learning and troubleshooting are available (Kitthu, 2024). Its flexibility and versatility enable it to be applied to a wide range of applications, making it well sought out by beginners and professionals alike. These features allow Python to be used for various functions, including data analysis (Hande, 2024), automation (“What Is Python…,” Coursera, 2024), scientific computing (“The Importance of Python…,” 98th Percentile, 2024), and more. Building on Python’s flexibility and strong functionalities, its applications in civil engineering are notable.
In the context of geotechnical engineering, Python's capabilities have tremendous advantages in automating soil analysis and site investigations. This application will not only enhance productivity but also support more precise geotechnical practices by predicting soil behavior through advanced modelling and simulation, positioning Python as an invaluable tool in the field. *
One significant advantage that Python can bring to geotechnical engineering is predicting soil behaviour through advanced modelling and simulation. The manual process of developing dozens or even hundreds of geotechnical models for intricate calculations can be extremely time-consuming (Yogatama, 2021). To streamline this workflow, Python is combined with Finite Element Analysis (FEA) tools and non-proprietary geotechnical modelling softwares like PLAXIS and Opensees which facilitates tasks such as processing input data, building and running models to plotting their analysis output (Yogatama, 2021). Using Python’s computational power, engineers can develop customized simulations that improve the accuracy of soil behaviours. Therefore, these predictive models play a crucial role in preventing construction failures by identifying potential risks in advance, enabling more precise and reliable geotechnical practices. *
Another key advantage that Python can bring to geotechnical engineering is its ability to automate data analysis. Soil investigations often produce large datasets that are strenuous to work with (Boado, 2024). However, with Python’s extensive library ecosystem, the process of data manipulation is streamlined and becomes more efficient. For instance, NumPy, a Python library, is a key tool in scientific computing, that simplifies complex calculations through multi-dimensional arrays and advanced mathematical functions (Bigelow, 2024). By leveraging this technology, tasks like soil classification and moisture content analysis can become faster and more reliable. A practical application of this can be seen in the Geotechnical Department at TYPSA which developed a comprehensive PLAXIS programming guide using Python, which simplifies and automates data input and analysis of calculation results (Boado, 2024). This demonstrates that by integrating Python into geotechnical workflows, engineers can manage large datasets more efficiently, leading to improved decision-making and project outcomes which thus improves productivity. *
While Python offers many advantages, it is not without limitations. One main drawback of using Python is that it is slower compared to other programming languages. Python's performance issues stem from it being an interpreted language with dynamic typing, leading to slower runtimes compared to compiled languages like C or C++ ((Aleksandra Velickovic, 2024)). Geotechnical computations are data-intensive and content-heavy which will take a longer time for the code to interpret. This slow execution speed can be a significant hindrance especially when real-time processing or large-scale data analysis is needed. While these characteristics are what makes Python flexible and easy to use, they are also the reason why Python takes a longer time to complete its tasks especially if they are computationally intensive. Hence, while Python has many great advantages, factors like its slow runtime have to be taken into account on a project-to-project basis.
In conclusion, Python offers significant potential in geotechnical engineering, particularly in automating data analysis and predicting soil behaviour through advanced modelling and simulation. It is an invaluable tool that can improve precision and productivity. Despite its strengths, Python also has its limitations which is its slow execution speed. However, with careful consideration of these limitations on a situational basis, Python can still be a highly effective and versatile tool in the field of geotechnical engineering.
References
Aleksandra Velickovic. (2024, March 29). C++ vs. Python: Full Comparison and Insights | Capaciteam Blog. Capaciteam. https://capaciteam.com/c-plus-plus-vs-python/
Amazon Web Services. (n.d.). What is Python? - Python programming language explained. https://aws.amazon.com/what-is/python/
Analytics Vidhya. (2023, July 22). Exploring the power of data science in civil engineering. https://www.analyticsvidhya.com/blog/2023/07/data-science-in-civil-engineering/
Bigelow, S. J. (2024). What is NumPy? Explaining how it works in Python. WhatIs; TechTarget. https://www.techtarget.com/whatis/definition/What-is-NumPy-Explaining-how-it-works-in-Python
Boado, C. E. (2024, January 23). Automation of geotechnical calculations using Python. Grupo TYPSA. https://www.typsa.com/en/automation-of-geotechnical-calculations-using-python/
Coursera (2024, April 10). What Is Python Automation? (With Examples). Coursera. https://www.coursera.org/articles/python-automation?form=MG0AV3
Hande, L. (2024, April 8). Python Data Analysis Example: A Step-by-Step Guide for Beginners. LearnPython.com. https://learnpython.com/blog/python-data-analysis-example-guide-for-beginners/?form=MG0AV3
Desktop. (2024, July 28). Automating data analysis processes with Python. https://www.nobledesktop.com/learn/python/automating-data-analysis-processes-with-python#:~:text=Through%20libraries%20such%20as%20Pandas,and%20analyzed%20with%20minimal%20code
Saalg Geomatics. (2024, October 10). The role of big data analytics in geotechnical investigations. https://www.saalg.com/post/the-role-of-big-data-analytics-in-geotechnical-investigations
Simplilearn. (n.d.). 15 features of Python every developer should know. https://www.simplilearn.com/python-features-article
Startup House. (2024, July 16). The advantages and disadvantages of Python. https://startup-house.com/blog/python-language-advantages-and-disadvantages
Unstop. (2022). 10 key features of Python that make it popular. https://unstop.com/blog/features-of-python
Python Software Foundation. (n.d.). The Python Software Foundation - Python programming language. https://www.python.org/doc/essays/blurb/
Yogatama, B. A., & Budiwan Adi Tirta. (2021, January 25). Python Application I Geotechnical Engineering Practices. ResearchGate; unknown. https://www.researchgate.net/publication/349052721_Python_Application_I_Geotechnical_Engineering_Practices
98thPercentile. (2019). 98thpercentile.com. https://www.98thpercentile.com/blog/python-in-scientific-computing/
(I acknowledge that ChatGPT was used to check grammar, punctuation, spelling and organise ideas. )
Thanks for this revision, Nurin!
ReplyDelete