零基础自学编程前需要知道的知识

  你是否适合编程?学习编程后能做什么?如何选择编程语言?有哪些免费的线上学习网站推荐?今天这篇好文将那些自学编程前需要了解和思考的问题都记录下来,希望能给那些刚刚开始或正准备自学编程的朋友们带去一些启发。

  

 

  你是否适合自学编程

  自学编程会是一个漫长而艰辛的过程,在你信心满满地准备开始之前,不妨先问问自己下面这几个问题,来判断你是否真的适合自学编程呢?

  · 你是一个逻辑和抽象思维能力比较强的人吗?

  · 你是否愿意不断地去学习那些新的东西,而在大多数时间内你都需要去自学。

  · 当你遇到一些问题和困难的时候,你是否有足够的耐心和毅力去独自解决这些问题?

  · 你是否有很强的好奇心去研究和探索那些未知的领域?

  如果上面这四个问题中,至少有两到三个你的答案是Yes的话,那相信你是适合自学编程的,相反,你可能需要考虑选择更适合自己的学习方式,比如参加一些培训班,由导师带着进行系统地学习。

  学习编程后你能做什么,不能做什么

  很多人只是将编程作为一项技能去学习,而他们并不清楚学习编程之后能做些什么。这就和孩子在学校学习英语一样,由于缺乏目的性和应用的场景,而使得效果大打折扣。带有目的性地去学习,并不断地实践是学习编程的最佳方式。

  学习编程以后,你可以:

  · 独立地设计、开发一个软件,然后通过测试将它发布出去给更多的人使用。并不断地去维护与改进它。

  · 可以参与到开发团队中,去开发一些更复杂应用,满足你客户的需求。

  但你不能:

  · 维修电脑,或解决Inernet连接问题。

  · 像黑客一样去黑其他人的电脑。(黑客也都是程序员,但他们需要更多其他方面的知识和技能,我可以在后面谈谈我认识的那些黑客们是如何修炼的)

  选择你的第一门编程语言

  编程语言有几十种,你该如何选择你的第一门编程语言呢?我的建议是根据你学习编程的目的去进行合理的选择。

  希望找到一份程序员工作

  下面是那些大型企业最普遍采用的开发技术,你可以根据自己的喜好,选择不同领域的开发语言。

  · Web前端开发(开发网站,基于Html5的手机APP等):JavaScript

  · 后端开发(企业应用,后端服务):Java(跨平台), C#(Windows平台)

  · 移动开发:Swift(iOS平台),Java(Android平台)

两性健康 热点资讯

  · 3D或游戏开发:C++

  · 大数据或人工智能:Python,Java

  如果你已经有一个很好的点子,并希望实现它

  · 搭建网站:JavaScript + HTML5

  · 做一个APP: Swift(iOS平台),Java(Android平台)

  如果你希望为那些初创公司工作

  · 可以选择JavaScript,因为越来越多的初创公司直接使用JavaScript来构建他们的前端和后端应用(比如使用基于JavaScript的NodeJs来开发后端服务等)。

  如果你希望教孩子编程

  可以先让孩子尝试Scratch或类似的游戏类编程学习软件,当孩子对那些基本编程知识有所了解,并具备一定逻辑思能力后,可以转而学习Python。

  如果你只是想建一个个人博客或搭一个论坛或企业服务站点

  你可以学习PHP,因为几乎所有那些优秀的基于CMS的建站平台都是用php写的,包括Wordpress,Drupal,Joomla等等。

  从语言的难易程度方面选择

  · 选择从最简单的编程语言开始:选择Python

  · 稍微难度高一些,但使用场景更广的语言:选择Java

  完全没有任何想法

  如果你暂时对学习哪门编程语言没有任何想法,或只是为了提高自己想学习一门编程语言,那么我的建议是 Python

转载于:https://www.cnblogs.com/hotzx/p/6900165.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle系统库名,Oracle 札记之 一:数据库名,数据库实例名,数据库域名,操作系统环境变量...

数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后,它被写入数据库参数文件pfile或Spfile中。格式如下:...db_name"orcl"db_domaindbcenter.t…

用于基于SWT的应用程序的RichText编辑器组件

本文将完成使用SWT实现我们自己的RichText编辑器组件的任务。 在为我的一位客户开发基于桌面的应用程序时,我遇到了这样一个可视化组件的需求,并希望添加一项功能,以允许用户使用粗体,斜体,删除线等功能来写富文本注释…

Eclipse设置黑色主题

1点击help--->install new software 2输入 http://eclipse-color-theme.github.com/update 3下载安装eclipse color theme插件如下图 4完成后点击windows--->preferences------>Appearance下多了一个Color Theme 5,点击选择喜欢的主题即可,也可以自己下载主…

wcf rest系列文章

http://www.cnblogs.com/artech/archive/2012/02/15/wcf-rest.html 需要注意的是,发布的服务,可以在web behavior中指定显示help页面。 http://localhost/ApplicationName/ServiceName.svc/help 需要注意的是,访问.svc的页面一定不要多加/;否…

登录:应用程序错误通知

几个月前,当我进行大型应用程序重构时,发现用于记录日志的基于log4j的代码确实令人讨厌,重复了数百次: if (LOG.isDebugEnabled()) {LOG.debug("Logging some stuff " stuff); }我想摆脱isXXXEnabled,这就…

win10 oracle怎样卸载,Win10系统卸载Oracle 11g数据库的方法

说起Oracle 11g数据库编程人员没有一个不知道的,虽然它很好用,但是有时候我们也会想去卸载它,那么系统城win10纯净版怎么卸载Oracle 11g数据库呢?不知道的朋友赶紧看看小编整理的卸载Oracle 11g数据库的方法吧!具体卸载…

.net 连接数据库

""符号是防止将后面字符串中的"\"解析为转义字符. using System.Data; using System.Data.SqlClient; ... string strConnection"user idsa;password;"; strConnection"initial catalogNorthwind;ServerYourSQLServer;"; st…

mysql DCL数据控制语言

-- 维护性操作 都是在cmd下操作的连接数据库: 本机:mysql [-h localhost] -u account -p 远程:mysql [-h remote_ip] -u account -p 显示当前所有数据库:show databases; 切换数据库:use db_name; …

如何分析线程转储–线程堆栈跟踪

本文是“ 线程转储”分析系列的第5部分。 到目前为止,您已经了解了线程的基本原理以及它们与Java EE容器和JVM的交互。 您还学习了HotSpot和IBM Java VM的不同线程转储格式。 现在是您深入分析过程的时候了。 为了使您能够从线程转储中快速识别问题模式,…

linux想要ping需要开启哪个端口,linux下iptales配置

linux iptables存放位置/etc/sysconfig/iptables[roottp ~]#iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT[roottp ~]#iptables -R INPUT 4 -s 172.17.99.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT[roottp ~]#iptables…

设计模式学习笔记(十三:原型模式)

1.1概述 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个…

翻译的一篇关于学习编程语言的小文章

Top programming languages to get a job in Toronto in 2017 在程序开发人员和软件工程师中最容易被提及的问题之一就是:“我要学的下一门编程语言该是谁?” 我想去选一个编程语言,我希望你能给我一些关于经常使用到的编程语言的建议&#x…

从linux内核启动,学习Linux内核启动过程:从start_kernel到init

一、实验步骤:1:运行menuos:a)cd LinuxKernel/b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动后启动了MenuOS。2:使用gdb调试跟踪menuos内核启动和运行过程;a)qemu -kernel linux-3.18.6/arch/x86/bo…

【转】nginx的优缺点

原博文出自于:http://blog.csdn.net/a454211787/article/details/22494485 感谢! 1、nginx相对于apache优点: 轻量级同样起web 服务比apache占用更少内存及资源 抗并发nginx 处理请求异步非阻塞而apache 则阻塞型高并发下nginx 能保持低资源低消耗高…

与Maven 3,Failsafe和Cargo插件的集成测试

开箱即用,可以在Maven中进行单元测试。 因此,它也经常用于集成测试。 这样做的主要缺点是集成测试可能需要花费更多的时间来执行,并且因为没有人喜欢每次构建都要等待很长时间–使用-Dmaven.test.skiptrue标志可以跳过测试 为了执行与Maven的…

Spring入门第二十五课

使用具名参数 直接看代码&#xff1a; db.properties jdbc.userroot jdbc.passwordlogan123 jdbc.driverClasscom.mysql.jdbc.Driver jdbc.jdbcUrljdbc:mysql://localhost:3306/selective-courses-systemjdbc.initPoolSize5 jdbc.maxPoolSize10 applicationContext.xml <?x…

linux强制回收内存,Linu系统cache强制回收

LINUX的内存管理机制&#xff0c;一般情况下不需要特意去释放已经使用的cache。Cache机制的存在&#xff0c;使得Linux对磁盘的读写速度是有较大的好处的。 在 Linux 操作系统中&#xff0c;当应用程序需要读取文件中的数据时&#xff0c;操作系统先分配一些内存&#xff0c;将…

HDU 1412 {A} + {B}

Problem Description给你两个集合。要求{A} {B}.注:同一个集合中不会有两个同样的元素.Input每组输入数据分为三行,第一行有两个数字n,m(0<n,m<10000),分别表示集合A和集合B的元素个数.后两行分别表示集合A和集合B.每一个元素为不超出int范围的整数,每一个元素之间有一个…

Google API:如何访问Google Analytics(分析)数据?

在深入研究Google Analytics&#xff08;分析&#xff09;API之前&#xff0c;了解一些Google Analytics&#xff08;分析&#xff09;术语及其关系总是很有用的。 Google帐户&#xff1a;要访问Google Analytics&#xff08;分析&#xff09;&#xff0c;用户将需要一个Google…

为什么linux的新得立软件下载,linux,debian_蝶变(Debian)_Xfce_新立得软件管理_安装不上软件了,怎么处理?,linux,debian - phpStudy...

蝶变(Debian)_Xfce_新立得软件管理_安装不上软件了,怎么处理&#xff1f;(synaptic:9573): GLib-CRITICAL **: g_child_watch_add_full: assertion pid > 0 failed正在预设定软件包 ...(正在读取数据库 ... 系统当前共安装有 343467 个文件和目录。)正准备解包 .../libc6-db…