许多学生和结构设计师希望转向软件开发领域,这确实是一条不错的职业转换路径。然而,他们常常不知道该如何着手准备。
明确入门开发语言的选择
转型开发时,挑选合适的编程语言至关重要。C++作为主流编程语言,在众多互联网底层开发领域都得到广泛应用,它功能强大且实用。但C++也被认为是一门较为复杂的语言。若您没有相关基础,不妨先从C语言学起。C语言较为基础,有助于深入学习计算机体系课程。正如我当初的做法,先专注于C语言的学习。C语言掌握后,再学习C++就会容易得多。
对于有意投身土木软件开发行业的人,C++堪称理想的入门语言。该语言在这一领域应用广泛。相较于其他编程语言,C++更为简洁易懂。只要掌握了基础的操作和原理,便可以参与众多相关开发任务。
课程与书籍推荐
学习C语言,市面上有很多优秀的教材和课程资源。以《CPlus》为例,这本书质量上乘,配合翁凯老师的“程序设计入门”公开课视频学习效果更佳。起初接触编程,抽象概念较难理解,因此必须按照书中的示例在电脑上动手编写、编译和运行代码。至于C++的学习,我建议阅读《C++》这本书,并完成相应的习题。唐佐仁老师的《c++语言课程深度解析》同样是一本值得推荐的课程。
《C++数据结构与算法》适合学习C++相关的数据结构和算法。《算法与数据结构》这门慕课网上的课程,刘宇波老师主讲,评价极高,满意度达百分百。《剑指Offer》一书中对广联达的算法面试大有裨益,许多面试题目都是源自此书。
土木软件开发的不同要求
在土木软件开发领域,对算法的深入理解并非必需。然而,基础的数据结构和算法知识是必不可少的,因为这在面试中通常是必考的。对于刚毕业的学生来说,只要掌握了基础,在midas、YJK、PKPM等公司进行开发工作基本没有问题。但若想加入广联达,那可就相当有挑战了,他们对于算法的掌握要求相当高。我当年参加广联达的在线笔试,面对5道题目,我只懂其中的2道,难度之大,令人惊讶。这一点也提醒了后来的求职者,要针对不同公司做好相应的准备。
想要加入广联达从事开发工作,除了具备基本知识,还需对算法有更深入的学习。无论是日常学习还是面试准备,算法能力的提升都是关键。相较于其他企业,广联达对算法的要求更为严格。有意向加入广联达的人,需努力跨越这一较高门槛。
深入学习C++
有了开发经验或是学完了基础知识,就可以开始钻研C++的丰富特性了。《C++:程序与设计优化55法》是一本不错的选择。听说Java程序员转行C++的,都会立刻去购买这本书来学习。对于初学者来说,这本书非常实用,能帮助他们写出更优秀的程序,并避免C++中的一些常见陷阱。此外,它的续作《MoreC++:编程与设计优化35法》也同样值得阅读。
理解C++的特性并不简单,这需要投入大量的时间和精力。不仅要研读相关的书籍,还要在软件开发的过程中将这些知识付诸实践。以开发大型土木工程软件为例,恰当地运用C++的特性可以提升程序的运行效率,并优化程序的整体架构。
编程学习的初期困难及应对
编程初学者可能会觉得特别有难度,很多知识点都显得比较抽象和难以理解。但在这个时候,千万不能轻言放弃。这个过程就像学习走路,需要一步步稳扎稳打。以学习C语言为例,我们需要将书中的例子输入电脑,然后进行编译和运行。只有通过这样的反复实践,我们才能逐渐领悟编程的内在逻辑。
有些书籍虽然很有用,但由于理论性较强,理解起来有些困难。这时,观看课程视频是个不错的选择,比如翁凯老师的公开课视频,教学风格活泼,有助于理解那些不易理解的知识点。此外,加入学习小组或论坛,遇到问题可以及时向他人请教和讨论。
从自身经验中汲取的结论
我回望自己从土木转行至开发的道路,其中浸透着辛勤与挑战。历经不少曲折,方才积累了今日的宝贵经验。在此过程中,挑选合适的学习材料至关重要。不同阶段对知识和技能的需求各不相同,企业间的要求也千差万别。有意转向开发领域的人士,需对这些内容有深入的理解。
我想请问各位,在考虑转型开发时,您是否还在纠结该走哪条道路?若我的经验能对您有所启发,请点赞并转发,愿更多人能在转型途中少走错路。