V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  agagega  ›  全部回复第 3 页 / 共 260 页
回复总数  5198
1  2  3  4  5  6  7  8  9  10 ... 260  
这开局一张图什么细节也没说,不好讲。虽然编译到 CISC 的逻辑多少比到 RISC 复杂点(大部分 IR 也都是一个类精简指令集的模型,另外寄存器分配还要考虑直接用内存地址作 operand 的情况),但编译时间绝对大头肯定是优化,这部分和目标平台没啥关系。
https://cdecl.org/
C 的声明方式令人迷惑,一是因为指针符号*在解析中的优先级其实很低,二是因为 C 的声明方式是按照某种解方程的逻辑进行的,比如 int *a[13]的意思是*a[0]的类型是 int
@agagega
显示器都是 LG ultrafine 4K
试着截了个图,同样是 Firefox ,同一个帖子,同样是苹方字体,系统同样 200%缩放(浏览器缩放不一样)

macOS
https://imgur.com/VAa1rTa.png

KDE
https://imgur.com/9Ql1nJX.png

Windows
https://imgur.com/6zEtJ2G.png

确实是更喜欢 macOS 这种偏糊的处理,Windows 比 Linux 好在不用和各种 fontconfig 斗智斗勇,但很多地方默认雅黑改不了,太丑了。macOS 上像 Emacs 这类对中文字体支持不太好的软件其实也容易翻车。
把程序员比作泥瓦匠,比把程序员比作建筑师稍微靠谱一点点。但我依旧认为程序员这个职业,严格来说很难找到高度相似的旧世界对应物。

程序员的第一个特点,在于它有强烈的手工业者特征。一个程序员完全有能力靠自己实现一套软件,这对于很多传统行业来说是无法想象的。每个手工业者的作品都带有创作者个人的特征,找一百个程序员实现同一个功能,恐怕也能得到一百种写法。

但程序员还有第二个特点,足以让程序员和传统手工业者体现出本质不同,那就是软件复制的零成本。一个人设计了一个玩意,即使是大善人也不可能无限复制再免费发放,但代码真的可以。无论是 Linux 还是 Windows ,项目一旦发布,几乎没有什么「生产」成本。这体现出程序员职业的工业化特征。开一个厂生产实体产品,除非奢侈品,否则实物成本总是无法忽略的,而在软件开发领域,程序员(和相关上下游人员)可以靠知识产权拿走更多利润。

程序员第三个特点就是全球化。我知道在这个论坛很多人会拿诸如墙、脱钩、自主可控这些概念来反驳,但我问你:即使是今天,能找出几个行业,不同国家的技术、人员、标准大部分能够无缝替代的?

以上三个特征可以合理推导出以下结论:

1. 在很长一段时间内,程序员可以不靠权力导致的垄断而实现高收入
2. 少部分国家和企业会占据信息产业的大部分利润
3. 这个行业从业人员的可替代性极强
4. 会存在一批不依赖大公司而自食其力的个体户程序员
5. 会有开源运动发生,上面的玩家想靠开源奠定生态优势,下面的玩家想靠开源弯道超车

这几个结论是从同样的前提得来的,也就是说这个行业内卷和这个行业赚钱实际上是一码事。论坛里常见某些人又厌恶自己的职业,又没那个本事换条路闯,每天只想着自己上车然后把车门焊死,当问一句——您 配 吗?
@yzkos
农民工的意思是,身份既是农民又是工人,这是改开以后的现象,因为以前农民是没有资格进厂里工作的。在今天的中国,区分一个人是不是农民身份只能看户口。所以如果一个人不是农业户口,那就只能算普通工人,没有资格叫农民工。
34 天前
回复了 hapsinge 创建的主题 Apple 如何看待苹果国区或与百度生成式 AI 合作
意料之外情理之中。

以前有说法说苹果要搞自己的搜索引擎,当时我便想这肯定进不了中国,大模型同理。其实从以前的经历来看苹果也可能和腾讯合作,但腾讯现在确实没有拿得出手的东西。
34 天前
回复了 noyidoit 创建的主题 程序员 整理了一些 release 后缀含义
了解下编译器区分平台的五分法:

arch-subarch-vendor-os-abi

其中 subarch 和 abi 可以省略,subarch 主要用在 arm 各种细分指令集上,abi 在 windows 上可以区分是 msvc 还是 mingw ,vendor 在 Linux 等开源系统上通常写为 unknown

arm64 和 aarch64 指的是一个东西。amd64 和 x86_64 一样,但和 ia64 不同。一些平台 arch 部分还会有后缀,比如 el/le 表示 little-endian 模式(一般这些平台默认是 big-endian ),还有 hf 表示支持硬件浮点数(默认可能就是软浮点)

总的来说现在能见到的 arch 就是 x86 、arm 、ppc 、mips 、龙芯、riscv 、sparc 、wasm 、s390 及它们的各种变体。
你去看 discourse 的就知道了,v2ex 会比这个简单很多
你看过《第二十条》吗,里面张译演的那种家长才难搞,非要说也不算特别有权有势,但就是能恶心死你。
楼主是个有趣的人。
36 天前
回复了 jgh004 创建的主题 程序员 微软的新项目 Garnet 碾压 Redis ?
都是做技术的,说话别整营销号那一套,比如什么碾压、吊打,还有唯语言论,最经典的比如用 Rust 写的就一定牛逼
36 天前
回复了 weijancc 创建的主题 程序员 时至今日, WSL 仍然难用
软吹的话听着乐呵得了,真要原汁原味 Linux 还得装个正经发行版
36 天前
回复了 chanChristin 创建的主题 Apple 不喜欢用跨平台开发的应用
用 Qt 写的你大概不会觉得不好用,只会觉得不好看。但用 Qt 的成本看单个平台可能比直接搓 Swift 还高。

所以一是为了节约成本,二是某些高贵的前端从来瞧不起 native ,即使以用户体验为代价也要保护自己的政治利益
防被脱库难道不是靠数据库加密存?前端散列只能防止服务端意外留下明文,其他时候没啥用
假定你知道一点 C++11 (不知道也没关系,其实各种标准添加的东西虽多,但都是有内在逻辑的,C++也不是因为后面这些标准把它搞复杂的,相反这些标准反而是把原来复杂的问题给简化)

14:围绕 11 的若干修复,比如可变参数模板、lambda 参数类型可以为 auto ,返回值 auto ,给库补上了几个之前没来得及进的函数比如 make_unique

17:模板元编程大加强,和模板相关的地方可以用 constexpr 了,语法糖有 if constexpr ,if 和 switch 括号里可以初始化变量,可以用结构化绑定初始化变量,库多了 string_view 、any 、variant 、optional

20:新的基于模块而不是头文件的编译模型(听着很美好但各家实现都不一样,而且未必能真的提高编译速度),range ( STL 给 iterator 的接口用起来确实很反人类),concept (让模板更像 interface 一点,但想要在对象里实现静态 interface 还得 CRTP ),coroutine (先玩玩 boost ASIO 吧)
1  2  3  4  5  6  7  8  9  10 ... 260  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1282 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 58ms · UTC 18:02 · PVG 02:02 · LAX 11:02 · JFK 14:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.