序
编程改变世界。
主流编程语言排行及应用范围
Application Area 应用领域 | Programming Languages 编程语言 |
---|---|
Front-end Web Development 前端网页开发 | JavaScript, Elm, TypeScript |
Back-end Web Development 后端网页开发 | JavaScript, Scala, Python, Go, Ruby |
Mobile Application 移动应用程序 | Swift, Java, Objective C, JavaScript |
Game Development 游戏开发 | Unity, TypeScript |
Desktop Application 桌面应用程序 | Scala, Go, Python |
System Programming 系统编程 | Go, Rust |
Via https://distantjob.com/blog/programming-languages-rank/ ;
Php,Javascript,Python ...,不要害怕,这些都是人类创造的语言。妙不可言。它们的能力各有千秋,都是为解决某类问题而创造;二进制、概率论、人机交互、I/O,迭代,优化,规范通过归纳,逻辑判断,流程控制,方法等对数据进行处理。
我们可能不懂代码,但在我们的生活中它又无处不在:对 Siri 说,定个30分钟的闹钟,提醒我拿快递...,你打开的网页,app,你的日常使用习惯,你一天看多少次手机,在哪个app上花的时间最多... 或许,你的手机比你更懂你,你的爱好,你的作息,你的睡眠,你最近的状态... 真的有FBI在监控你吗?不是的,至少不是真的有人在记录你,而是程序,一些由代码实现的自动化工具,它们自动记录,存储,统计,判断...(上传)。
算法
“算法(英语:algorithm),在数学(算学)和计算机科学之中,指一个被定义好的、计算机可施行其指示的有限步骤或次序,常用于计算、数据处理和自动推理。算法可以使用条件语句通过各种途径转移代码执行(称为自动决策),并推导出有效的推论(称为自动推理),最终实现自动化。” Credit 维基百科;
批处理
“批处理文件(英语:Batch file),又称批次档,在DOS、OS/2、Microsoft Windows中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并执行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。它相当于是类Unix系统下的Shell script。” Credit 维基百科;
或许你也写过 VB 脚本?
图灵测试
真随机和伪随机
“随机数在密码学和计算机科学中扮演着重要角色,然而实际上并不存在真正的随机数。随机数是人造的,不是自然界产物,因此在科学研究中,随机数被简化为噪音并过滤掉。计算机的存在基于确定性,因此在计算机世界中,真正的随机数是不存在的,所谓的随机数实际上是伪随机数。” Credit 极客时间;
So,AI 最终会像人类一样思考吗?它们是否真的有思考能力?还是只是由一段段代码的拼凑?
常见的通用编程语言
Ada
ALGOL
汇编语言
BASIC
Boo
CC++
C♯
Clojure
COBOL
Crystal
D
Dart
Elixir
Erlang
F♯
Fortran
Go
Harbour
Haskell
Idris
Java
JavaScript
Julia
Lisp
Lua
Modula-2
NPL
Oberon
Objective-C
Pascal
Perl
PHP
Pike
PL/I
Python
Ring
RPG
Ruby
Rust
Scala
Simula
Swift
Tcl
Via 维基百科;
Which Programming Language Should I Learn First? [Infographic];Google it;
这么多,我应该学哪个?从何学起?学到什么程度?只为好玩?这些语言会过时吗? 作为业余爱好者而言,首先,特别重要的是,先操练起来,每天搞点代码!在这里,博主更多想说的是,在语言学习和实践的过程中,你会遇到很多意想不到的情况,想要编写一个函数解决的问题,反而因为代码书写不规范或语言本身的糟粕而出现了更多的bug,你可能会感到苦恼,不知所措。但随着更深入的学习,查阅文档,最终通过更优雅的方法解决了想要解决的问题,这种体验是非常棒的。
语言是工具,也是人类创造的奇迹。动物与动物之间有语言吗?它们如何沟通?信息如何加工?如何传递?带着问题学习是非常必要的。数一数,上面这些话有多少个问号?带着问题去找方法,带着问题去学习新知识。
熟练使用一个工具前,必然要了解其到底多有用,能干什么。
Dec 2024 | Dec 2023 | Programming Language | Ratings | Change |
---|---|---|---|---|
1 | 1 | Python | 23.84% | +9.98% |
2 | 3 | C++ | 10.82% | +0.81% |
3 | 4 | Java | 9.72% | +1.73% |
4 | 2 | C | 9.10% | -2.34% |
5 | 5 | C# | 4.87% | -2.43% |
6 | 6 | JavaScript | 4.61% | +1.72% |
7 | 13 | Go | 2.17% | +1.14% |
8 | 9 | SQL | 1.99% | +0.37% |
9 | 8 | Visual Basic | 1.96% | +0.14% |
10 | 12 | Fortran | 1.79% | +0.72% |
11 | 16 | Delphi/Object Pascal | 1.44% | +0.52% |
12 | 7 | PHP | 1.39% | -0.62% |
13 | 11 | Scratch | 1.33% | +0.26% |
14 | 18 | Rust | 1.29% | +0.48% |
15 | 14 | MATLAB | 1.09% | +0.16% |
16 | 20 | R | 1.05% | +0.33% |
17 | 10 | Assembly language | 1.04% | -0.07% |
18 | 19 | Ruby | 1.03% | +0.26% |
19 | 23 | COBOL | 0.98% | +0.30% |
20 | 17 | Swift | 0.98% | +0.16% |
“下个月,TIOBE 将公布 2024 年度编程语言。该奖项颁发给一年内评分增幅最高的编程语言。由于 Python 在一年内获得了 10% 的评分,它可能会在下个月获得这一享有盛誉的称号。亚军 Java 和 JavaScript 分别同比增长 +1.73% 和 +1.72%。这是积极的,但如果与 2024 年 Python 的巨大飞跃相比,这似乎微不足道。Python 之所以势不可挡,要归功于它对 AI 和数据挖掘的支持、庞大的库集以及它的易用性。既然有人说 AI 泡沫即将破裂,再加上对快速语言的需求正在迅速增加,Python 可能会开始趋于稳定。让我们看看这是否会发生。” Credit https://www.tiobe.com/tiobe-index/ ;
书单推荐
只为好玩,确实如此。
如何开始
先从一段 hello word 代码开始;Javascript 最简单,打开浏览器,打开开发者工具 -> 控制台输入下面代码:
Javascript
console. log("Hello World")
Php
<?php
echo "Hello World!";
?>
Python
print('Hello World!')
...
学习网站推荐
技术成长平台
力扣 https://leetcode.cn/
freecodecamp https://www.freecodecamp.org/chinese/news/
前端
Chrome 开发者工具 https://developer.chrome.com/docs/devtools?hl=zh-cn (手册)
MDN https://developer.mozilla.org/zh-CN/docs/Web
现代 JavaScript 教程 https://zh.javascript.info/
w3schools https://www.w3schools.com/ https://www.w3school.com.cn/
Python
Python 官方教程 https://docs.python.org/zh-cn/3/tutorial/index.html
综合类
菜鸟教程 https://www.runoob.com/
Python 基础教程 https://www.runoob.com/python/python-tutorial.html
Python 3 教程 https://www.runoob.com/python3/python3-tutorial.html
JavaScript 教程 https://www.runoob.com/js/js-tutorial.html
Coding every day
以下内容摘自 realpython.com ;
Let’s get started by looking at Coding Every Day.
让我们从每天编码开始。
This is really important because it helps you build the muscle memory you need to program. It’s much like learning a musical instrument or any other skill.
这真的很重要,因为它可以帮助您建立编程所需的肌肉记忆。这很像学习乐器或任何其他技能。
Little and often is better than one large chunk a week. If you only had an hour a week to spare, you’d be much better off spending ten minutes on six days of the week and having a day off, than doing one hour, one day of the week and having six days off. Leaving a long time before you practice any new skill can mean it will be lost to you and you’ll end up having to re-cover the same ground again and again, whereas covering it every day for a week will help you retain it much better, and then longer gaps afterwards won’t be so much of a problem.
少而常胜于每周一大块。如果你每周只有一个小时的空闲时间,你最好在一周的六天里每天花十分钟,休息一天,而不是每周做一天,只做一小时,休息六天。长时间不练习任何新技能都意味着你会失去它,最终你不得不一遍又一遍地重复同样的内容,而一周内每天都练习则会帮助你更好地保留它,之后更长的时间间隔就不会是个大问题了。
Secondly, set a timetable. Again, this is totally dependent on the amount of time you have, but if you’re fortunate enough to have, say, a day a week, then look at the areas you want to study and write a timetable and try to stick to it. After a few weeks, you can review that timetable and see which areas you need to spend more time on and which areas you need to spend less time on.
第二,制定时间表。同样,这完全取决于你有多少时间,但如果你足够幸运,比如说每周有一天的时间,那么就看看你想要学习的领域,然后写一个时间表,并努力坚持下去。几周后,您可以回顾一下时间表,看看哪些方面需要多花时间,哪些方面需要少花时间。
Don’t be afraid to adapt it to the amount of time you need and how much time you need to spend on each subject. Many a time, the areas that we want to work on turn out to be more difficult than we thought, or maybe you need to look at the underlying maths or other theory behind it.
不要害怕根据你需要的时间和你需要在每个科目上花费的时间来调整它。很多时候,我们想要学习的领域比我们想象的要难,或者你可能需要研究其背后的数学或其他理论。
Don’t be afraid of this. This is the same for everybody. But this brings me on to the next point: being realistic about the time that you have for this. Everyone’s different.
不要害怕这个。这对每个人都一样。但这也引出了我的下一个问题:现实地看待你有多少时间来做这件事。每个人都不一样。
Everyone’s starting from a different point, everyone will end up at a different point, and everyone has different demands on their time and resources throughout the week and the year.
每个人的起点不同,每个人的终点也不同,每个人在一周乃至一年中对时间和资源的需求也不同。
Some people can spend a lot of time and will be able to make more progress than someone who only has an hour or two to spare a week, so being realistic about this and not beating yourself up over it is a really important thing. Remember, it’s not about comparing yourself to other people—it’s about comparing yourself to where you started.
有些人可以花很多时间,比那些每周只有一两个小时空闲时间的人取得的进步更大,因此,现实地看待这个问题,不为此自暴自弃,是一件非常重要的事情。记住,这不是拿自己和别人比,而是拿自己和自己的起点比。
One tip I’ve found really useful on this is solving small problems as time allows. If you’ve only got ten minutes to spare in a day, it’s unlikely you’ll be able to do something really complicated, but you might be able to solve a simple problem with a little bit of difficulty to it and engineer something interesting and useful to you.
在这方面,我发现一个非常有用的技巧,那就是在时间允许的情况下解决一些小问题。如果你每天只有十分钟的空闲时间,你不太可能做一些非常复杂的事情,但你也许可以解决一个有一点难度的简单问题,并设计出一些有趣且对你有用的东西。
There are many sites on the internet that allow for competitive coding, and while I’m not a fan of the idea of competing against people when learning a skill, it can be really useful to look at the resources that they have there.
虽然我不喜欢在学习技能时与人竞争的想法,但看看他们提供的资源确实很有用。
They can often have graded puzzles for you to solve, and you can pick a level of difficulty that’s suitable for your ability and the time you have available. By repeatedly solving these problems, you’ll gain skills and learn new areas of Python that you didn’t know before, and it can give you great confidence in being able to approach more difficult problems further down the line.
他们通常会提供分级谜题供您解决,您可以根据自己的能力和时间选择适合自己的难度级别。通过反复解决这些问题,您将获得以前不知道的 Python 技能并学习到新的知识领域,这将为您今后解决更难的问题带来极大的信心。
credit: https://realpython.com/lessons/code-every-day/ ;
版权属于:毒奶
联系我们:https://limbopro.com/6.html
毒奶搜索:https://limbopro.com/search.html
机场推荐:https://limbopro.com/865.html IEPL专线/100Gb/¥15/月起
毒奶导航:https://limbopro.com/daohang/index.html本文链接:https://limbopro.com/archives/31100.html
本文采用 CC BY-NC-SA 4.0 许可协议,转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!