$ javac Template.java
$ java Template
java.io.IOException: File template not found
at Template.readFormatString(Template.java:23)
at Template.main(Template.java:11)
$ printf 'Hello, %%s' > template
$ java Template
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
at java.util.Formatter.format(Formatter.java:2519)
$ java Template world
Hello, world
$ java Template
java.io.IOException: File template not found
at Template.readFormatString(Template.java:23)
at Template.main(Template.java:11)
$ printf 'Hello, %%s' > template
$ java Template
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
at java.util.Formatter.format(Formatter.java:2519)
$ java Template world
Hello, world
duangsuse::Echo
#Java #app 😃 据说 duangsuse 到现在也没有开发基于『模板生成』的应用程序(迫真,其实写过了,而且是高端 DSL 生成)怕被人嫌弃,就立刻写了一个(跑
写的时候因为控制流简单,忍不住感叹 Javac 居然还能做未初始化局部变量分析... 🤔
如果我要写一个,该怎么进行这种分析?还好 Sun Javac 比较蠢,只认 constant condition 常量传播...
编程的时候透露出我对 Java 平台的理解还不够,我忘记了 Java 的 I/O 流架构、本地变量未初始化空值、Vararg 传递
透露出我对文件系统的理解还不够,我忘记 close 掉打开的文件
如果我要写一个,该怎么进行这种分析?还好 Sun Javac 比较蠢,只认 constant condition 常量传播...
编程的时候透露出我对 Java 平台的理解还不够,我忘记了 Java 的 I/O 流架构、本地变量未初始化空值、Vararg 传递
透露出我对文件系统的理解还不够,我忘记 close 掉打开的文件
duangsuse::Echo
Template.java.dia
总而言之,用 PDL(Program Design Language) 可以表示为:
#C
#Cplusplus
#PHP
#Ruby
#Lua
#VisualBasic (VB.NET)
#CSharp
fun main(argv)那么我就顺手再写个 C 的版本和 C++ 的版本和 PHP 的版本和 Ruby 的版本和 VisualBasic 的版本和 CSharp 的版本... 反正我还有很多事没做... 啊 😵
String? template = readFormatString();
String? formated = String.format(template.getOr { exit(EXIT_FAILURE); }, argv);
formated.let(stdout::println);
fun readFormatString()
File.Path fileName = getenv("TEMPLATE") ?: "template";
File templateFile = File(fileName);
unless file.exists and file.isFile: raise "File ${fileName} not found"
unless file.canRead: raise "File ${fileName}: cannot read"
FileInputStream is = null;
byte templateBytes;
begin /* readAll is into templateBytes */
templateBytes = new byte[is.available];
is = FileInputStream(templateFile);
is.read(templateBytes);
handle IOException rethrow
ensure is.close
return String(templateBytes);
#C
#Cplusplus
#PHP
#Ruby
#Lua
#VisualBasic (VB.NET)
#CSharp
duangsuse::Echo
总而言之,用 PDL(Program Design Language) 可以表示为: fun main(argv) String? template = readFormatString(); String? formated = String.format(template.getOr { exit(EXIT_FAILURE); }, argv); formated.let(stdout::println); fun readFormatString() File.Path fileName…
😿 时间总是不够用,为了健康所以不得不早点睡觉了。
其实这周本来还计划用 HTML + CSS + JS /MDUI, echart 写本频道的折线统计图的,还包括诸如过滤、消息转发回复 stickers files 什么的分析、hashtags, links, hosts, telegram xref 的统计页面什么的
可惜果然没有时间了(我早知道,所以即使开始想的时候比较大但是我一直要求自己简化它 — 没时间写太大的、必须保证能完整理解快速记忆所有结构的程度才可以),真的时间不够啊。
其实本来还打算继续写 GeekSpec 下一个版本的 specification 实例的,可是又没时间啊。
其实本来还打算发一下书单(HTML)的,果然是连分享都不容易。
其实本来要修正一下 Gauss-Jordan 这个的,可是呢,这次也没机会了。
其实这周本来还计划用 HTML + CSS + JS /MDUI, echart 写本频道的折线统计图的,还包括诸如过滤、消息转发回复 stickers files 什么的分析、hashtags, links, hosts, telegram xref 的统计页面什么的
可惜果然没有时间了(我早知道,所以即使开始想的时候比较大但是我一直要求自己简化它 — 没时间写太大的、必须保证能完整理解快速记忆所有结构的程度才可以),真的时间不够啊。
其实本来还打算继续写 GeekSpec 下一个版本的 specification 实例的,可是又没时间啊。
其实本来还打算发一下书单(HTML)的,果然是连分享都不容易。
其实本来要修正一下 Gauss-Jordan 这个的,可是呢,这次也没机会了。
GitHub
duangsuse/Share
🐕 duangsuse's shared files(e.g. productive software projects, documents) - duangsuse/Share
#C 没力气写了,垃圾 GCC,MSVC 的 va_list 直接是
typedef char* va_list; 但是 🌶🐔 GCC 的是 typedef builtin_va_list va_list;,必须得手工调用,而且 inline 全都链接时找不到符号,为啥要这样过分!This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
要是能不要做这种事情,就会省时间。
#Sp #C 汇编害死人! 😢 早日拒绝汇编和 C 甚至裸的结构化编程,早日获得新生! C++ 都比 C 好!
🌶🐔 垃圾 GCC 还我青春!
🤔 C++ 要学呢,类型系统比 C 强一些,新的 cast 操作不知道怎么用。
人在做,天在看,抽象不够留祸患,
万恶段错天地灭,赶紧 OO 保平安,
诚心诚念设模好,对象大法平安保,
众生都为速度来,现世险恶忘前缘,
OO 弟子说真相,教你脱险莫拒绝,
早日摆脱汇编,早日获得新生,
上网搜索「九评 GAS」有真相。
天灭 GCC,退 C 保平安。
人在做,天在看,垃圾 SP 留隐患。
空指溢出天地灭,快换 Managed 保平安。
诚心诚念 GC 好,Tracing 大法平安保。
众生都为工效来,现世险恶忘前缘。
Java 菜鸡说真相,教你脱险莫拒绝,
早日摆脱 C/C++,早日获得新生,
上网搜索「九评 C/C++ 后端」有真相。
🌶🐔 垃圾 GCC 还我青春!
🤔 C++ 要学呢,类型系统比 C 强一些,新的 cast 操作不知道怎么用。
人在做,天在看,抽象不够留祸患,
万恶段错天地灭,赶紧 OO 保平安,
诚心诚念设模好,对象大法平安保,
众生都为速度来,现世险恶忘前缘,
OO 弟子说真相,教你脱险莫拒绝,
早日摆脱汇编,早日获得新生,
上网搜索「九评 GAS」有真相。
天灭 GCC,退 C 保平安。
人在做,天在看,垃圾 SP 留隐患。
空指溢出天地灭,快换 Managed 保平安。
诚心诚念 GC 好,Tracing 大法平安保。
众生都为工效来,现世险恶忘前缘。
Java 菜鸡说真相,教你脱险莫拒绝,
早日摆脱 C/C++,早日获得新生,
上网搜索「九评 C/C++ 后端」有真相。
Forwarded from dnaugsuz
不管是 CS 学生还是 10+ 年经验的高级工程师,都非常刻苦,并且不耻下问,为了为 Internet 的建设贡献流量,主动排除垃圾 Oracle 的平台文档使用 Google、坚持坚守一门语言不被垃圾 JavaScript 沾染,他们真棒,为他们点赞 👍
Forwarded from dnaugsuz
JavaScript 是我见过最好的编程语言,说到 JavaScript,就不得不提到垃圾 Java 了,虽然是 JavaScript 的『名称来源』却连个泛型都实现不好。
JavaScript 是 1995 年发布的世界无人不知的动态弱类型表述式面向对象语言,事件驱动、函数式,支持各种高端有效的编程范式,因为 JavaScript 的出现,还驱动了 JSON、ActionScript、Flash、QML 等知名技术,真的是赠品良多
看我们的 JavaScript 多灵活,动态类型、prototype 灵活面向对象、高端反射 API、first-class functions,别人都说只要能用 JavaScript 写的程序吃枣要有 JavaScript 的版本,Java 里用弱智 OO subtyping 静态类型所谓『设计模式』解决的问题,JS 里根本不存在!
Java 的垃圾显式类型风格根本是和理论优雅性背道而驰的,最优雅的代码是高智商的程序大牛写的,ECMAScript 的
你看 JavaScript 多么受各种大公司大企业的青睐啊,数不清的 JavaScript 实现,比如 Google v8、Microsoft Chakra、Mozilla XXXMonkey / Rhino、Apple JavaScriptCore,即使不容易做,还有不少 IDE 支持,还有 TypeScript,数不清的方言翻译器衍生版扩充版,Coffee、 JScript、E4X、TypeScript、ActionScript、Opal,连 backport 翻译器都有了
反观垃圾 Java,除了 JVM 平台死弄了 20 多年还就一点人要而已,如果不是 Kotlin 注入新鲜血液,早被 CS 学生抛弃掉了,然而 Kotlin 一定要支持 JS,甚至主动弄个 Kotlin Common 要综合 JavaScript 和 JVM 平台,我觉得这么做真是让 JavaScript 吃了很大的亏,明明 JS 是这么一种优秀而且不断创新的语言,怎么就和 Java 这种🌶🐔语言绑定在一块了呢?
现在 JavaScript ES6 又支持了非常多的特性 Pattern Matching, Block scoping, Set/WeakSet, Map/WeakMap, Promise(Future), Generator(Fiber, Coroutine, Sequence...), Iterator, Thunk, co, await/async, ArrayBuffer, TypedArray, DataView, Atomics, Proxy, Reflect, ES6 Module,比 Java 11 高到不知哪里去了,未来还有 JavaScript ES2019 要出现加入工程领域,简直不可理喻,我无法坐合放宽,忍不住的头抬起。 👍
JavaScript 是 1995 年发布的世界无人不知的动态弱类型表述式面向对象语言,事件驱动、函数式,支持各种高端有效的编程范式,因为 JavaScript 的出现,还驱动了 JSON、ActionScript、Flash、QML 等知名技术,真的是赠品良多
看我们的 JavaScript 多灵活,动态类型、prototype 灵活面向对象、高端反射 API、first-class functions,别人都说只要能用 JavaScript 写的程序吃枣要有 JavaScript 的版本,Java 里用弱智 OO subtyping 静态类型所谓『设计模式』解决的问题,JS 里根本不存在!
Java 的垃圾显式类型风格根本是和理论优雅性背道而驰的,最优雅的代码是高智商的程序大牛写的,ECMAScript 的
void 和 const typeof 已经够用,高智商程序员不需要把一个个类型写在变量名的前面、不需要 visibility、不需要 mutablity 这种本来应该由引擎推导分析猜测的东西,高智商的程序员看一眼就知道 JavaScript 的自动转型会怎么工作而不会像某些入门的小白一样喷类型隐式转换坑,不像 Java 这种为幼稚园设计的编程语言,死把类型建立在编译器里,不允许更高端更高层的扩展、写不出类似这样优雅的库,直到 Java 10 才稍微有点好转,所以很多 CS 学生使用 ES6 做示范而唾弃辣鸡 Java。你看 JavaScript 多么受各种大公司大企业的青睐啊,数不清的 JavaScript 实现,比如 Google v8、Microsoft Chakra、Mozilla XXXMonkey / Rhino、Apple JavaScriptCore,即使不容易做,还有不少 IDE 支持,还有 TypeScript,数不清的方言翻译器衍生版扩充版,Coffee、 JScript、E4X、TypeScript、ActionScript、Opal,连 backport 翻译器都有了
反观垃圾 Java,除了 JVM 平台死弄了 20 多年还就一点人要而已,如果不是 Kotlin 注入新鲜血液,早被 CS 学生抛弃掉了,然而 Kotlin 一定要支持 JS,甚至主动弄个 Kotlin Common 要综合 JavaScript 和 JVM 平台,我觉得这么做真是让 JavaScript 吃了很大的亏,明明 JS 是这么一种优秀而且不断创新的语言,怎么就和 Java 这种🌶🐔语言绑定在一块了呢?
现在 JavaScript ES6 又支持了非常多的特性 Pattern Matching, Block scoping, Set/WeakSet, Map/WeakMap, Promise(Future), Generator(Fiber, Coroutine, Sequence...), Iterator, Thunk, co, await/async, ArrayBuffer, TypedArray, DataView, Atomics, Proxy, Reflect, ES6 Module,比 Java 11 高到不知哪里去了,未来还有 JavaScript ES2019 要出现加入工程领域,简直不可理喻,我无法坐合放宽,忍不住的头抬起。 👍
GitHub
GitHub - sindresorhus/is: Type check values
Type check values. Contribute to sindresorhus/is development by creating an account on GitHub.
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (YuutaW 鱼塔)
Kotlin 和 C# 有点像欸 #水