资深程序员的笔记:工作多年对于编程语言的理解,新手建议了解!

先学C语言还是Python?资深程序员往往是这样建议的! 编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0、学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也很适合。   本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各 位到来Python学习群:301056069 一起讨论视频分享学习... 阅读详情

工作几年,先后接触c/c++,python,lua,dart,JavaScript,java等各种语言,记录下对于一个编程语言的理解,今天分享一下我自己的心得,这并不是一个标准,不认同还请不要责怪笔者。如果感觉对你有帮助,笔者不胜荣幸!

                                          

对一个编程语言的理解,应该关注两个方面

一、语言特性

语言特性由编译器具体实现,具体包括:

1. 强类型vs弱类型

强类型就是类型很硬,不太接受转换

比如c++就是强类型,不同类型转换需要各种cast

JavaScript就是弱类型,一个变量,一会数字,一会字符串,一会对象都没问题

2. 静态类型vs动态类型

静态类型:程序运行前确定变量类型,需事先声明或者由编译器推导

动态类型,程序运行时才进行类型绑定和检查

3. 静态语言vs动态语言

程序在运行时可以更改代码结构,比如JavaScript随时给一个对象添加成员或者添加函数

4. 值类型vs引用数据类型

JavaScript中除了基本数据类型外,其他都是引用类型,所以变量赋值后其实指向的是同一对象

总结:变量声明时是否需要指定类型->静态类型vs动态类型

声明后的类型能否相互转换->强类型vs弱类型

程序运行时,能否改变对象内部结构->动态语言vs静态语言

但,所有这些都不算数,对于dart语言

既可以编译成二进制,AOT,又可以解释运行

变量声明既可以指定类型,也可以dynamic声明不指定类型

不支持反射,所以是静态语言

类型不可随意转换,是强类型语言

                                 

二、运行环境

运行环境就是runtime,包括虚拟机或者真实的操作系统,需要注意的有

1. 编译运行vs解释执行

编译型:源代码->编译器->可执行代码

解释型:解释器读取源代码,编译,然后运行。

区别仅仅是源代码翻译成目标代码的时机不同。

c/c++是编译型,各源文件编译成obj,后经过连接器链接为可执行文件,后操作系统加载执行

js,python是解释型,先编译为字节码,后由虚拟机加载执行。

要注意编译单位:c/c++是以文件为单位,nodejs和python同样,但网页中js是以代码块(<script>分割)独立翻译,执行,但各代码块共享变量

2. 异步编程模型

nodejs是单线程异步模型,异步模型导致回调地狱问题,后出现await,async,以同步编程方式来编写异步代码。更好维护

3. 垃圾回收

只管使用,不用操心内存释放。

越高级语言,开发者越不需要关心底层,c/c++,不需要关心汇编指令,但是需要负责内存的申请和释放,而java,js,dart等现代化语言,开发者不需要关心内存问题,这是语言发展的必然。

学习C/C++编程知识,可以关注博主,希望文章对你有帮助。

程序员如何突破职业天花板?资深架构师的成长建议 在当今竞争激烈的 IT 行业,程序员的职业发展面临着诸多挑战,职业天花板成为许多人前进道路上的阻碍。本文的目的在于为广大程序员提供全面、实用的建议,帮助他们突破职业瓶颈,实现职业的进一步发展。范围涵盖了从初级程序员到有一定工作经验的程序员在不同阶段可能遇到的职业天花板问题,并从资深架构师的视角给出针对性的解决方案。本文将按照以下结构展开:首先介绍职业天花板的相关背景知识,包括核心概念与联系;接着深入讲解突破职业天花板所需的核心算法原理和具体操作步骤,并结合数学模型进行分析; 阅读详情

相关推荐

资深架构师警告:不会用AI的程序员将被淘汰!

AI时代的到来,意味着程序员不再是孤军奋战的代码工人,而是与AI共同协作的技术专家。虽然AI可以大大提高开发效率,但它并不会完全替代程序员的角色。相反,程序员需要学会如何与AI工具协作,如何利用AI提升工作效率和创新能力。在这个过程中,那些没有学习如何使用AI的程序员将逐渐被淘汰,只有不断适应变化、提升AI使用能力的开发者才能在这个新时代中立于不败之地。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1217

c++黑马程序员用的是什么软件打开.md_程序员如何优雅记笔记(wiki+typora(markdown)+坚果云)

声明:转载请注明出处提示:本文最适合程序员,当然其它职业也可使用为什么要写这篇文章:作为一名程序员,可能每天都要接受一些新技术或者多过往项目及经验进行总结,此时,一个合适的笔记是必不可少的。好比修仙中的上品灵器,能增加修行者的境界一样,一个好的笔记不仅能记录我们工作中的点滴,也能很方便的管理自己的知识体系。然而,市面上的笔记千千万,适合我的确寥寥无几。所谓是好看的皮囊千篇一律,有趣的灵魂万里挑一。...

weixin_39715997的博客 2251

基于FPGA低频方波测量-频率与占空比

基于FPGA低频方波测量-频率与占空比

DRAXY的博客 6732

程序员编程笔记

1.查看电脑当前进程和端口cmd netstat -pid netstat -a 查看全部端口信息:netstat –ano 2.创建文件夹 mkdir 文件名或文件路径 3.删除文件夹 rmdir 4.删除文件 del 5.打开计算机calc 6.打开画图mspaint 7.用echo "写入新数据">d:\a.txt,echo 字符串 >文件路径 文件名(会覆盖原内容) 8.用echo "写入新数据">>d:\a.txt,echo 字符串 >文件路径 文件名.

weixin_40789007的博客 5774

【ESP32开发】——开发环境搭建(VSCode+PlatformIO)

本章内容主要介绍ESP32的开发环境搭建(基于VSCode+PlatformIO)的流程与相应的注意事项,避免开发ESP32止于环境搭建!在项目的维护过程中,可以更好地管理和更新代码、调试问题,并且能够快速适应和采用新的功能、库或硬件平台。:VSCode 的代码提示和自动补全功能,以及 PlatformIO 的管理工具,都能帮助你编写规范、格式良好且易于阅读的代码。:Arduino 框架是一种简单、易用的嵌入式开发框架,适用于快速原型开发和小型项目。需要选择对应自己开发的开发板型号。

m0_61934621的博客 8414

保姆级教程:用TIA Portal V17给S7-1200 PLC和HMI做个联调仿真(附抢答器完整项目包)

本文提供了一份详细的TIA Portal V17教程,指导如何实现S7-1200 PLC与HMI的联合仿真开发。通过抢答器项目实例,涵盖从环境搭建、PLC编程到HMI设计的全流程,帮助工程师高效完成工业自动化系统的虚拟调试,显著提升开发效率。

weixin_30417487的博客 624

程序员的“灵魂笔记本“:五款高效笔记软件推荐

解锁程序员笔记新境界

杰森写代码 1万+

别只刷题了!我用834分经验告诉你,华为HCIP大数据考试(H13-723)这样准备更高效

本文分享了华为HCIP大数据认证(H13-723)834分通关的高效备考经验。通过分析考试动态、题库验证技巧和章节优先级策略,帮助考生超越单纯刷题,系统化掌握核心知识点。特别强调实时流处理和离线批处理等重点章节,提供黄金90分钟临场发挥策略,助力考生一次性通过考试。

weixin_38168786的博客 458

程序员都在偷偷用的8款笔记神器(亲测能提升200%生产力)

每个程序员都经历过这样的痛苦时刻:半年前写的代码片段死活找不到、项目文档散落在十几个txt里、好不容易写好的技术方案被同事改得面目全非…(偷偷说:我现在是Obsidian+Typora+VS Code三件套组合,效果堪比咖啡因+红牛!(写在前面:本文推荐的软件全都亲测可用,不需要任何破解操作!:所见即所得的Markdown编辑器(边写代码边排版yyds!:双向链接构建知识宇宙(写技术文档时相关知识点自动关联):不用切换软件就能写代码+记笔记(摸鱼都变得理直气壮了):89元买断制(但能用10年不亏)

codestream1的博客 1万+

数字孪生在智慧医疗中的5个创新应用:从手术模拟到个性化治疗

数字孪生技术通过创建患者或医疗流程的动态虚拟映射,正在深刻变革智慧医疗。本文重点剖析了其在个性化治疗、手术模拟与导航、药物研发、医院管理优化及慢性病管理五大核心场景的创新应用,展现了如何利用智能映射与数据融合,为精准医疗和高效决策提供强大支持。

weixin_29189003的博客 443

FreeSWITCH编译安装详细文档

本文档详细介绍了在Ubuntu 22.04系统上从源码编译安装FreeSWITCH的完整流程。主要内容包括:1)系统环境准备和依赖库安装;2)关键依赖库spandsp和sofia-sip的编译安装;3)FreeSWITCH源码的特定版本(v1.6.0)编译配置,包括禁用SignalWire模块的配置方法;4)系统服务配置,包括创建专用用户、设置权限以及配置systemd服务文件。文档特别提供了版本控制说明,确保后期能切换到相同的版本环境,并附有详细的命令操作步骤和注意事项。

唯有代码让我痴狂 1369

程序员记笔记有没有必要?如何高效记笔记?

不知道大家有没有遇到过如下场景: 这个bug上次遇到过,哎,怎么都想不起是怎么解决的了,然后各种谷歌、翻找之前代码,遇到的坑再来一次; 这个linux命令或脚本,之前编写过,隔一段时间,想要用的时候,哎,又忘了!只能再学一次!

方才coding 2027

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1732

资深程序员的笔记:工作多年对于编程语言的理解,新手建议了解

工作几年,先后接触c/c++,python,lua,dart,JavaScript,java等各种语言,记录下对于一个编程语言的理解,今天分享一下我自己的心得,这并不是一个标准,不认同还请不要责怪笔者。如果感觉对你有帮助,笔者不胜荣幸! 对一个编程语言的理解,应该关注两个方面 一、语言特性 语言特性由编译器具体实现,具体包括: 1. 强类型vs弱类型 强类型就是类型很硬,不太接...

qq_34573534的博客 275

华为OD机试真题-查找单入口空闲区域(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【查找单入口空闲区域】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 查找单入口空闲区域。

qq_45776114的博客 1268

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

资深码农给新手的一些建议——项目开发

作为一个资深码农,走过不少弯路。总结了一些新手建议,做成一个系列,欢迎持续关注,本期分享:项目开发中的一些建议

甲蛙全栈 746

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

资深程序员:给新手程序员一些建议

资深程序员:给新手程序员一些建议

Java癫疯的博客 284

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java程序员该如何进阶?资深阿里P8通过十年经验送你一些经验和建议!

我相信很多人都有过自己迷茫期,在开始学习之前会迷茫,会不知道自己要学什么,学这些有什么用;学习之后,学的不扎实,得不到认可,觉得自己白学了;真正找到一份还凑合的工作后,面对重复性的工作,又会不知道自己该如何提升。下面我会根据大多数人的情况,梳理一下程序员的几个段位,以及我们该如何一步步打怪升级,走向人生巅峰。

老男孩的架构路 1854

新手程序员必读:推进编程工作的七条箴言

如果大家属于刚刚涉足专业软件开发世界的新人,各位可能会以为自己完全能够凭借着多年来在计算机科学及编程领域获得的教育及/或培训顺利玩转一切。不过在这一行业沉浸多年的老鸟开发者则希望提醒大家,单凭科班灌输的知识还远远不够,我们还需要从实践当中了解到更多极具指导性的宝贵财富。

文艺范Coder的博客,5星好评哦亲~ 1546

华为资深架构师谈:对于工作一至五年Java程序员的学习建议。

很多朋友在问,能不能够给Java程序员一点建议,今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。 在大家看之前,我要先声明两点。 1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其...

weixin_45127309的博客 789

来自资深程序员的 3 条锦囊:永远不要辞职,除非……

程序员的三条锦囊。

唐小引(Echo)的 优快云 博客。 1万+

牛逼!java程序员必看经典书单,以及各个阶段学习建议!

本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理、携程定制旅游CTO。 优知学院,首家互联网技术结合产品学习社区。提供互联网技术、产品的入门指南、干货资料、进阶课程。如果你想全面晋升,求职BAT、薪资翻倍、技术进阶(纵向和横向)、转产品、以及产品进阶、开阔视野、扩展人脉。请关注优知学院,开启你的晋级之旅。 最近,部分读者一直希望我给大家

u012426327的专栏 5万+

超越35岁的编码之路:资深程序员的挑战与机遇

35岁被认为是程序员职业生涯的分水岭,许多程序员开始担忧自己的职业发展是否会受到年龄的限制。有人担心随着年龄的增长,技术更新换代的速度会使得资深程序员难以跟上;而另一些人则认为,丰富的经验和深厚的技术积累是年轻程序员无法比拟的宝贵财富。快来和分享一下你的经历和看法吧~

Von_016's Blog 960

资深程序员对Python新手的八个建议,超级实用!

这里来自良许Linux 的一篇文章,推荐了4个工具:Git版本控制系统Rsync文件备份Dropbox云存储Time Machine时光机器更多的工具介绍和使用我这边就不展开,大家可以去自行了解呗。

2401_84585155的博客 1018

资深程序员常看的网站

资深程序员在日常工作中,会频繁访问一些专业网站来获取技术资讯、学习新知识、交流经验以及寻找解决问题的方法。

weixin_1079718670的博客 1310

资深软件开发人员分享对新手程序员的建议

资深软件开发人员分享的一些关于专业化编程的经验和教训,这些经验教训都是经过多年历练总结得出的。  如果你刚进入软件开发编程世界,那么得益于曾参加过得iOS开发培训,你已经具备了一定的基础知识。但是真正的开发业务工作又和在学校编程不同,这是你不可能从大学课程或编码学校中学会的东西。   为了了解新手程序员需要知道哪些内容,我咨询了一些经验丰富的编码老将,这些“老”将全部有着至少十

ccnanxi的博客 848
上一篇: 初学者注意:你需要明白编程的意义所在,否则是学不好编程的!
下一篇: 互联网公司各种“花式”裁员,套路特别深,作为程序员你知道吗?
CodingPs
博客等级 码龄7年 182粉丝 253原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值