查看原文
其他

又特么一编程语言问世了,某语言要凉了?

The following article is from 非著名程序员 Author loonggg

点击“开发者技术前线”,选择“星标🔝”

13:21 在看|星标|留言,  真爱


来源:非著名程序员

在 6 月 24 号,一种开源的名为 V 的新的静态类型编程语言,正式开源了,并发布了首个可用版本,当前开源的版本是 0.0.12 。一经开源,就在 Github 上引起了大量的关注,star 数也是嗖嗖上升。

那么什么是 V 语言呢?相信大家对 Golang ,也就是 go 语言都有所耳闻,甚至熟悉吧?而 V 语言的名字比 Go 语言还简洁,少一个字母叫:V ,全名叫:vlang 。它被描述为一种简单,快速,编译的语言,用于创建可维护的软件。它的创造者 Alex Medvednikov 表示它与 Go 非常相似,并受到 Oberon,Rust 和 Swift 的启发。

其提供了方便、快捷、安全的编程语言和工具包,还能够很好地服务于区块链技术。

V 语言多牛逼?

据说 V 语言将来每秒可以编译多达 120 万行代码。它是通过直接的机器代码生成和强大的模块化实现了这一点。

而且它似乎是一种理想的语言,因为它没有 null、全局变量、未定义的值、未定义的行为、变量阴影以及绑定检查。默认情况下,它支持不可变变量、纯函数和不可变结构。泛型目前正在研发中,计划在9月推出。

V语言 一个集合了 Go 的简单和 Rust 的安全特性的新语言。
主要特性:
  • 快速编译(编译器只有 400kb,而且无第三方依赖)

  • 安全

  • C/C++ 转换

示例代码:
数据库访问
struct User { /* ... */ }
struct Post { /* ... */ }
struct DB { /* ... */ }

struct Repo <T> {
db DB
}

fn new_repo<T>(db DB) Repo {
return Repo<T>{db: db}
}

fn (r Repo) find_by_id(id int) T? { // `?` means the function returns an optional
table_name := T.name // in this example getting the name of the type gives us the table name
return r.db.query_one<T>('select * from $table_name where id = ?', id)
}

fn main() {
db := new_db()
users_repo := new_repo<User>(db)
posts_repo := new_repo<Post>(db)
user := users_repo.find_by_id(1) or {
eprintln('User not found')
return
}
post := posts_repo.find_by_id(1) or {
eprintln('Post not found')
return
}
}
网络开发:
struct Story {
title string
}

// Fetches top HN stories in 8 coroutines
fn main() {
resp := http.get('https://hacker-news.firebaseio.com/v0/topstories.json')?
ids := json.decode([]int, resp.body)?
mut cursor := 0
for _ in 0..8 {
go fn() {
for {
lock { // Without this lock the program will not compile
if cursor >= ids.len {
break
}
id := ids[cursor]
cursor++
}
resp := http.get('https://hacker-news.firebaseio.com/v0/item/$id.json')?
story := json.decode(Story, resp.body)?
println(story.title)
}
}()
}
runtime.wait() // Waits for all coroutines to finish
}

据说在性能方面,它 与 C 一样快,需要最少量的分配,并且支持内置序列化而无需运行时反射。它编译为原生二进制文件而没有任何依赖。

牛逼背后的质疑

在 V 语言这么牛逼,这么理想化的前提下,不免引起很多社区里的开发人员的质疑,因为 V 语言说的太优秀了,优秀到让人难以置信。在网站上的声明,一些开发人员认为创建者要么对 V 的功能不诚实,要么在欺骗用户。

当然了,V 语言到底怎么样?光靠描述和嘴上说是不行的,还得靠时间实践来证明。俗话说得好:经得起多大的荣誉,就得担得起多大的诋毁。


一个语言的好坏,还得看未来的使用者以及周边生态是否完善?

看到 V 语言的开源上线,名字都叫:V 了,我都不禁想说:26 个英文字母都快被你们用完了。

真的是:前端造框架,后端造语言,移动端造系统,学不动了。程序员真特么累啊!

对此,你们怎么看呢?

---END---

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存