zoukankan      html  css  js  c++  java
  • 从零基础到软件开发,应该走怎样的路?入门者不妨看看这 5 步!

    从零基础到软件开发,应该走怎样的路?我作为一个专业开发近20年的工程师,相信对这方面还是有很多经验!最近看到小伙伴有类似的迷惑,所以写下这篇文章,希望对大家有帮助!

    一、学习能力比较强,有兴趣爱好是最好的!

    IT行业是一个人才汇集的地方,因此要确定自己有一定的学习能力,有一定的爱好,才能走的比较远一些!

    二、打好计算机基础

    1、计算机硬件结构与接口

    2、计算机操作系统

    3、计算机原理与日常维护

    4、网络技术

    5、数据库等

    这些基础课程或者知识,夯实基础,很多那种几个月上岗的码农,实在不敢恭维!随便都能叫程序员!

    三、至少精通一门语言

    如果想对计算机有深入了解,汇编语言是最好的,如果想做软件方面的,Java、C/C++、Python都是非常好的选择。

    这里笔者就用一下以前写的文章的话语,给大家简单介绍一下C语言与C++:

    C语言是面向过程的,而C++是面向对象的。编程入门就选C语言,同时C语言也是大学计算机相关专业必修课之一!

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    学好C++可以从这几个方面去检测:

    1:兼容C语言的部分;

    所以学好C++,必须以学好C语言为前提。同理:学好上层语言如PHP,JS,java,又必须要以C/C++为前提。违背这个原则,你会遇到无法超越的技术瓶颈。你的编程职业生涯就会打折。比如学PHP的时候,难度不在于PHP的if...else...这些语法,而在于比如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。

    2:面向对象编程思想:类,继承,多态这些的产生渊源。

    3:泛型机制。

    4:模板机制:函数模板,类模板

    5:它的标准库STL里面的数据结构和算法,这些内容你主要是要知道它们有什么实现方案,虽然不要你去写,但是你要懂得来源,这样用起来才放心。如:怎么实现容器vector,list,map的?

    6:非标准库,如:Boost。

    当然也是它里面的数据结构和算法。这些内容它帮你写好了,你很多时候其实只是在使用接口而已。所以,熟悉它,是一件简单的事。关键是要探索它的实现方案。

    7:做几个项目,包括控制台的,图形化的,以及进一步延伸的QT编程。

    8:游戏编程

    9:Linux操作系统

    虽然不需要你在Linux上开发,但是你要懂Linux,而它里面涉及到的东西就多了。比如进程、线程、管道、队列、消息、通信等等。

    四、精通操作系统

    软件实际上就是在操作系统上编程,只有深入了解操作新系统的原理和机制,才能成为一名高级程序员。比如操作系统的分级机制,存储器的管理、进程、线程、消息队列等!API以及API的调用。

    五、具有专业技术

    1、数据结构与算法

    2、深厚的数学功底

    3、熟悉硬件和网路等相关专业技术

    4、其他领域的专业技术,如财务、法律、项目管理等行业技术

    只有这样,才能在某一个领域成为专家级的程序员!发展自己的综合素质,为高级项目管理人以及创业打好打好基础!


    自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流圈子,【点击进入微信公众号:C语言编程学习基地

    有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

  • 相关阅读:
    决策树详解
    快速排序python实现总结
    机器学习-主干学习路线梳理
    动态规划通用解法总结
    Ubuntu系统下环境安装遇到依赖冲突问题
    学习笔记----C语言的面向对象
    Linux下开发stm32--IDE篇
    Deepin中安装使用好用的字典GoldenDict
    python-参考书
    C语言-转义字符
  • 原文地址:https://www.cnblogs.com/yxy6/p/13323481.html
Copyright © 2011-2022 走看看