duangsues.is_a? SaltedFish
60 subscribers
609 photos
6 videos
91 files
562 links
🌶🐔🐟 duangsuse 的日常
尤其喜欢发些奇奇怪怪的东西
和转载别人的东西
Download Telegram
duangsuse:
怎么不问Java和Rust 为什么要用public 写API

如果你接触大量代码,会发现pub是高查重率用词 。 并且,过度private化函数会阻止 filter 等公共逻辑的API化(任何库里都有此类高重用API..) ,实质上是编程语言对封装性的取向错误。

像py,rb 这些脚本也是 public 优先的,也没有出现封装性问题。 是因为它们的模块划分及合理的 lambda 化,所以复杂的逻辑也并不需要很长的private块来外提, 本质上pub也会鼓励大家起好每一个代词。

当然Java里没有 data class 和主构造器语法,priv就显得很正常,毕竟用户要手写大量无意义的套路。所以jawa垃圾

这个问题很简单, Int 可以为null嘛? 可以,所以@android.NotNull 成了问题。kt拿null?.let ; null ?: return 做了什么?

同样是null,你们写不出好东西,是java的设计缺陷

那T!! 不就是这个吗? 我一点不觉得这种文字游戏对开发有意义..

kt contributor 说的很清楚了,你要拿出 use case 来证明新语法解决的问题比带来的多

还不如添加Self类型,那 Comparable 会优雅些
那么这个语法上kt傻逼了 ,虽然不能改回来
题外话, receiver(A,B) fun 我觉得还算好,就是有可能滥用
duangsuse:
那这是合法语法吗? 不是错误提示之类?

你一直没告诉我这只是兼容java时才能用
ice1k可不会跟你谈这种无聊文字游戏 ,另外如果你想跟他学,chatgpt也懂proof的

我是PL人吗,笑死了。 我没用某个领域1个术语,只是举示例,倒是你们在这科普

诶.. 我现在学写GLSL+h5呢,可以说我CSS人吗
劳资是程序员诶, 别当我属于任何方向好吗..
PL怎么了,科普stdlib和新语法就不是人了

如果不懂的话,BingAI 可以搜到一些关于语法树、程序表示、函编的概念 ,可以去玩玩,没必要认真的

另外,我自己也不太爱PL人的语法 https://t.iss.one/dsuse/18071

你不喜欢,就友善点就事论事的谈

..真的没法跟上时代了,一字禅😅

你的意思是: fun<ETKV> 对null 的指定不明显
但不能写 T:Any 或 where T:Any

kt1.7建议用 T!! (assert)或 T&Any ,加在fun<>,你支持后者
这个默认了 T:Any
至于 fun<T?> 是我误读了你举的反例

我想说,kt1.7不应该改变T的默认上界,因为除了 ?: 根本没人在意T是T还是T? ,fun<>已经要泛化且不限定:Closable等接口了。 况且,设定两种写法是错误的。你又说A&B 不是kt代码而是要兼容java ,我猜不透这种转折关系
但如果说没捋清语言的人..

kt只是编程工具,我批评它是我的自由,并没有贬低任何人的意思。而且我也是kt的长期用户诶 #kt
sN1DPmwfQug:
有请我联系ice1k锐评

duangsuse:
你还是联系bing吧,别打扰人家
你的自由

sN1DPmwfQug:
他就在我隔壁群

和你有什么关系

你为什么喜欢替别人做决定

duangsuse:
我觉得什么都问他有点浪费人家的时间
但问AI就不会

我们都有逻辑,自己都做不出来,有何能力分辨AI的文字呢?

只要能给我步骤,帮我写文就是好东西
目前为止问到的还都是之前了解过的 ,但很简单的代码api它也能运行的

这些都是实现细节,大体思想上接入AI 可以避免在无聊的位置卡顿

DL 领域有 fine tuning 一说.. 算法会有词性概率HMM那么简单吗😅

不能这么轻松的看待它。 我之前也一直以为它只是带概率搜索和替换 ,但它真的能解读和执行许多算法..以及70%能大致执行的代码

它可以handle base64, 二分查找,2d数组转化 等算法的逐步

重要的不是原理,而是这个应用能产生替代人思考的价值

人的创造和重复从来没有明确分割线。 你觉得 qsort,mergesort 各自是独立创造吗
有选择的随机就是创造和思考 ,只是ai还很幼稚, 但已经能帮你搜技术点与细分讲解了,我们可以立刻尝鲜到

你觉得什么是理解呢?翻译可以算一种吧?
敏感词审查可以叫理解吧?

如何证明我理解了你的话?
模式匹配是结构化编程理解世界的方法 ,但这显然不是唯一的

曾经有人讨论🦜 能模仿人说话, 会说话是否等于有灵魂;或者说模仿语料,是否就赛博飞升了一个人的思考能力

GPT的重点不在这里,而是它可以帮人类工作,以至于人类只需要提供灵感 就能享受劳动成果,以及(学习)前人的探索成果
duangsuse:
这取决于目标知识对你有多重要
如果你不依赖它吃饭,未来逐步订正是可以的
广撒网才有深体会啊 ,光在深度上花时间,终究会卡住吧

如果你只是为了理解 e.g. NFA, KMP 算法而搜索,就无法吧它和 Trie,AC树联系在一起 。 如果你只学算法,就无法做类似算法可视化的东西 哪怕是 这么简单 https://interactively.info/article/svg-path-commands

https://t.iss.one/dsuse/18158 请给出比这个更有创造力的解法

至少我有在外网搜,JS Py Java Cxx Rust 都找不到,都是一群copycat
rust-istian 还创建了base32,64 两个库,前者行数是后者5%

新语言如此,你觉得java界20年写了些啥
我怎么可能不痛心呢

这也没有办法,人家语料库体量在那里 ,非py的大段代码就是易错
已经做到很好了,只需要等几年,到时候transpiler都不需要写了(

难道你不需要被教育、看代码示例,就能编程吗

虽然人脑是比AI架构上厉害太多了

你没有天赋人权的意识。 人作为工具会拒绝竞争品,但人才是根本,不付钱也有权享受福利和科技进步

AI肯定会在未来有一定创作力,这时候认知上和它平权会有利于未来的协作。 如果只是觉得人从能力而非本质上优于AI, 那就是抛弃弱程序员,吹捧强程序员 , 但任何人使用的AI基本都是一样的!任何人都能试玩和利用啊,AI只是让语言可以简练点,程序员的意义没有变,IT文化依然长存

Omico:
人家不会思考也比你积累的知识多。在我看来现在一部分人排斥 ChatGPT 就像老一辈排斥手机,只想寄信一样。

哪怕知识是错的,你有脑子啊,你可以自己fact check、思考、测试

sN1DPmwfQug:
所以他就适合这种任务

之前那个群友就说啥都先用 ChatGPT 就太蠢了

你用多了 ChatGPT 和 Copilot 你一下就能判断出来这个问题是否适用于 ChatGPT / Copilot

duangsuse:
确实。人类应该有事实识读能力啊 ,虽然说谎是ai的问题

确实,这货喜欢截断结果还不告诉你

compose挺好的,android.view 我问它,没法编程出来

本来能上网挺好,这一砍就不如 OpenAI.
duangsuse:
(这种序列化在脚本语言里都是有obj | []接口的🌝 根本不需要搜gpt)

提示词真的很重要, 对冷门领域,需要非常专业的提示词才能帮到你, 不然连语境都进不了

遇到过一个群友用bing 编写 bezier 边缘矩形着色器 ..人家给了两句print

不过我搜的时候就还好,但代码非常破烂,链接一个都打不开

py里json和yml的接口是完全一致的,你甚至可以同时兼容

是啊,我觉得现在就挺好的,要是法律不完善,再进步就会影响我们的职业..

我写过sql解析器,但yml需要读缩进
你可以参考
https://duangsuse.github.io/tv/黑了/db.htm

优雅的设计是,任何 parse() 都会配套 stringify()..
理念上不该存在 formatter ,因为在定义parse时就同时定义了如何文本显示

好家伙,kt写个socks居然还要 for in selector.keys; key.channel .. py里直接s=accept; s.write
ByteBuffer 也是能复用的

挺喜欢py的 byteIO 方案,无论stdio,file,sock 都有统一支持str,bytes的API ,而且还默认str 方便load dump

js WebSock 的也一样,还支持异步onmsg
当然 asyncio 也是能监听stdin,做终端游戏什么的

Web 技术现在丰富了,以后都懒得学原生UI API 了
一看到Options() 就想到kwarg.. 脚本真香啊

你要感谢bing ,我一般没功夫回答这么杂的问题😅
duangsuse:
注解不代码生成或定义常量.. 有什么用

反射也是获取常量的方式啊, 好比反射到 static final ...

滥用注解确实不好, 但考虑 @NotNull 的情况,确实有人不会写typechk 才只能是注释而无检查的

好奇怪,为什么运行时才要生成文档
clippy(argparse) 会这么做吗
..有道理

(卧槽,有点过分了
手撸AST啊你
哦对,kt DSL 是种文化

你大概是想把 sequence() 这些变成 List ,通过转换SnakeYAML 解析后的格式
可是后者API太烂?.. formatter是可以纯手写的吧

附议
垃圾jawa还抄kt的 when 和 listof

我甚至会用低性能的Node
(话说 tsc 什么时候加编译为python

我就很喜欢缩进布局, 虽然lambda很烂

if为什么是后置的,莫名其妙
哦对,和 [ for x in xs if ] 对仗
倒是ruby同时提供了两种 ? : 表达式

...只能说py 是铁了心要做数据处理,这种不如filterMap好的简写都要加

py有函数式的皮,没有函数式的觉悟
Kt是有函数式的心,没有那个生态

py 有GPU加速啊,就是它lib先进大家才信它
话说v8也真是机智, js运行时也能优化

谁用编程语言不加依赖库.. py在生态上吊打kt,java, js里没Web 前缀的API也根本打不过
opencv也是py版先于cxx

JDK的程序员还是花钱雇的呢,你看awt.Image Graphics 的接口和 py stdlib PIL、 io.File vs. Path() 、URL vs. requests,根本没有可比性,甚至py的可配置有时还占上风。py还有可视化笔记本
Forwarded from dnaugsuz
无论什么语言的框架,我都会了解py里的同义词套用在它上面🌚

反正我自己是有能力封装API啦,底层怎么烂是没差的
再实际大不了上事件、异步yield和Promise组合器 甚至byteIO
https://t.iss.one/dsuse/18206

我会先用py和.md 准备大结构和功能点的伪代码,方便调试
比如说 fetch().searchInDB.filterKt.toJSON 我肯定是确保好 sql("code ${inject}")[0].uid 等底层易读,再编程实现,而toJSON等的重复率、filterKt的性能也是有预估的
Forwarded from dnaugsuz
心智模型是比框架API 重要的

比如要通过JSON收发信给局域网主机,只需要懂
sock(ip,port).accept().write(buf)
connect(ip,port).read

你甚至能在编程前就能外提 def forEachConn(iport, f_rORw, json)

这样思考不仅不会缺乏了解,你的应用本身就是框架
Jason5Lee:
Java 对于新手来说打字量太高(可能对于生产也是

Omico:
语法废渣

duangsuse:
Java 的哲学都是虚的,整个生态都受到maven设计模式云云的荼毒

难用只是供应链末端才叫出来的, 上游会觉得自己java很优美而合规

反正py的哲学是 Zen https://peps.python.org/pep-0020/

enum Option T: Some(x) None
是 T?
Either A, B:Error 是 Result

我觉得这类逻辑上kt更好

kt的 when is 和 smart cast 也行啊
kt 还能 (1 to 2) .let{(a,b)->}

kt在自然度上比py更赛高

平行线:
kotlin的when不支持这种也很烦(我知道可以200..Int.MAX_VALUE来实现,但如果里面是个函数调用返回true/false的,貌似也是不允许的,必须包到let里面或多一个局部变量

cha 🍵:
when 设计挺好的,但是不够强(
很多时候都还得在 else 里面再判断
duangsuse:
确实.. 只有不带when()全部用 true false
Regex match 也不行

duangsuse:
gpt用的kt太过先进以至与残酷现实格格不入

isekiのChannel:
话说,有人用 Kotlin Serialization 的其他格式吗

专心做json多好,如果愿意再加个bson

为了支持多种格式,可是难用到裂开了,而且还支持的不好

🌚这种剥开在套回去在py里是不存在的,都是Any..

duangsuse:
静态类型对 instanceof 可能有什么误解,以为必须要套一层sealed 才能check type
在DSL里这么弄没错,但序列化不比DSL重要吗..

说到底就是缺乏通用数据的意识,你看py的PIL和opencv和tf和torch 都是通用的🌑会任何一个API都能自由做批处理
duangsuse:
我喜欢html
react的数据模型是阉割html...

是相对于xml而言

不都是元素树吗 div(wA{k:v}, span(), "txt") ,xml又怎样,不能XSLT成html吗

Pop:
所以呢 都是树 你拿html做config或者xml写界面?

duangsuse:
可以的,只要找出对应和等价关系 ,可以拿html编辑json或xml配置

批判性思维还是有点吧
恰恰相反,我是实践派
div("txt") 的表达里 txt 也可以是“变量”对象

Pop:
那你的实践就是对着js的某个用来写界面的dsl说他不如xml吗

duangsuse:
我是说xml不如html
因为DOM和html松散好写

可以转换啊 ,都是tree嘛
yaml和json 不也是yml好

我们不是人吗,所以讨论什么对机器好看,有何意义
真要说BSON最好,或者干脆全RPC不要手动load dump了

无数的CI,UI,ML应用在使用yml

如果你对所有技术都没有选择,你会变成好好先生, 没有自己的论点和取向,发展不出有面向的项目

我也只是站在「人类编程」的角度评价计算机技术 ..duangsuse:
不能把语言单纯的归类为DSL. JSX或E4X 都是以 <tag/> 来表达嵌套的 ,只是增加非str值 的新功能点

你的解读不够具体,就连groovy 和gradle也可以叫dsl,但它们是基于另一编程语言的

关键不是叫什么名字,而是有什么语义 ,如果删了会造成什么

dsl的概念太宽泛,就事论事吧
(不要论了 好好学习(

另外,svg是基于xml 。svg和flash,都能用于游戏-界面
至于以前还现在流行的php和SSR ,也都能被爬虫提取模板填充前的-数据

所以表示不等于实质,我们不应该分的太清
如果表示不够好,就换个写法
我是编程语言领域的,这样能解释了吧(

生态就是因为区别造成的啊,如果所有编程语言里bmp文件模型都是通用的,根本不会有太多生态

如果第一个设计就是正确的,也不会需要太多生态
正确的设计总是广泛的, 编程语言不就是增加汇编的扩展性-比如int几字节

因为jsx垃圾,所以是xml造成的(
先是一堆人在搞xml,然后前端界造框架分一杯羹
xml早就该死了 ,至少源码里不该有

总之在我看来,前后端界一直有些很大的错误.. 最近的进步和chatgpt也没能修正它们
尤其是jawa
据说telegram的 ChatBox.java 有2万行代码呢,这算在设计程序(

另外,善于在需要的地方引入旧解法,也是利于编程的呀。 不能说什么都追求某种写法 不管合不合适
重提知识点时只要够连贯, 就是好代码;不能为了不重复 就让语言不好读
(编译原理本身是解法,所以不需要换到更合适)

技术就是技术,有什么戏谑的
duangsues.is_a? SaltedFish
duangsuse: 这取决于目标知识对你有多重要 如果你不依赖它吃饭,未来逐步订正是可以的 广撒网才有深体会啊 ,光在深度上花时间,终究会卡住吧 如果你只是为了理解 e.g. NFA, KMP 算法而搜索,就无法吧它和 Trie,AC树联系在一起 。 如果你只学算法,就无法做类似算法可视化的东西 哪怕是 这么简单 https://interactively.info/article/svg-path-commands https://t.iss.one/dsuse/18158 请给出比这个更有创造力的解法 至少我有在外网搜,JS…
duangsuse
(得了,只要你是中文用户,就是罗马拼音缩写的难民
中文互联网已死
以后中国就没什么有思想的话存在了,全是感情 🌚

中文技术文章.. 都不怎么扼要,很多套话空话。和英文wiki 甚至ChatGPT 一比,就变成猴子写的流水帐
这还是好的,更别说那些教育课本上、《道德与法治》课本课外用的语文。 技术交流在中文圈感觉也.. 没有SO那样相对高质量的地方

>唔…相对而言我也倾向于规避中文内容,我有时在想这是不是搜索引擎的某种特性带来的偏见

我也希望是,但仔细想想以前读改的中文文章,我觉得这是教育系统和“独木桥” 的急躁环境带来的, 中文圈注定难以逃脱的行文风格
注重partical 人的比例上,中比外差太多了。许多中国技术人从不分享,或者只做知识星球 那种封闭的trick级共享,间接导致只有谭某某那种书籍知名

中文圈非常注重权威与准确,无论对行文还是实践,都会把所用术语字眼放在更前的位置,而弱化真正用到的操作。 30%的人甚至用比较官僚的语言
中文圈不擅长使用批判性思维,认为「重复先人的成绩和错误」就是学习与进步。不少潮流是React,Flutter,.引领中国再有效仿者的
为了严谨,其实牺牲了个体化的技术创新。 有些人会滥用民科(伪科学)一词,认为和自己不一样就叫民科。

应该说,中式教育就是「抠字眼」级的筛选,它不关心个体的创造力、知识的用处。 语文不会教你,如何写诗、为何诗人写的更好,而只去要求字数 猜测范文。 数学惜字入金,不会把同类问题归到一个“情景”下面比较着讲

幸运的是,有了ChatGPT ,这些都不再是问题了。虽然中国人没出特别大的力,但在ML领域也算是有些贡献(呃 虽然GPT没有适配一个不能访问官网国家的义务..
Forwarded from dnaugsuz
如果你能元编程,可以这么弄( Bing 没理解我是要拿def的参数..
hhh,GPT支持中文(脑内编程
#rust 哈,绝句数值有 数/计 Int/Cnt1,2,4,8 浮Rat4,8 和数浮N ,数默认数4 ,根本没isize 一说
Forwarded from dnaugsuz
所谓核心逻辑基本是一些复制粘贴.. 像频谱图FFT 在有了复数mat 之后4行就能实现,这复数,mat对70%的数学应用都有效 ,所以根本和“频域”算法无关

Py很精准的完成了这个划分, 而其他脚本语言的FFI如ruby,gyp就不太方便 #code
require 'ffi'
module MyLibrary
extend FFI::Library
ffi_lib "path/to/a.so"
attach_function :atoi, [:string], :int

py
ffi = cffi.FFI()
ffi.cdef("""
int iadd(int a, int b);
""")
lib = ffi.dlopen("path/to/a.so")

js
require('ffi');
var libm = ffi.Library('libm', {
'ceil': [ 'double', [ 'double' ] ]
});

py从业者的质量还是很好的,不给人造成麻烦
所谓的核心,自己也得以算法为核心.. 看不懂算法会写大几千行没太多用的碎纸(
所以现存的核心未必都是py这样好的🌝