Julia在中国的推广

作为对自己的挑战,我打算不用英文思考再“翻译”成中文,而是从开始就用中文思考。具体术语大家可以查文档.

这本书将用中文描述和解释Julia这个新的软件开发和科学计算环境,穿插介绍计算机语言的历史,讨论计算技术在科学和工程中的应用,已经这个新平台带来的新思想和新问题等等。读者可以没有任何编程经验,也可以完全不懂英文,只要有一颗好奇和探索的心,愿意在打开电脑鼓捣就够了。其它的都可以边做边玩边学。

这将是一本边读边玩的书,唯一的要求是读者需要打开Julia REPL,不断 打肥皂,冲洗和重复

4 个赞

空想不如实干,我现在就开始打草稿,每天写一点点,等到年底Julia 1.0成熟到大多数包都能运行了,我再和大家在这里分享初稿。

书的名字已经想好了,封面大概是这个样子的 :wink:

好奇的Julia

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> 

?

2 个赞

之后我真的没法在这个事情上忙了,这两天也在慢慢把事情交代给大家。[捂脸]

因为最近很多人联系我现在占了我非常多的时间,我之后就开始要读PhD时间会更少。所以一个是希望能@田俊 和@Gnimuc 能继续帮忙做下去,然后之后Julia那边也会考虑雇一个人在国内来维护社区和推广Julia。

然后当然也欢迎机构和公司的人参与进来,然后总的来说就是不论是公司,还是个人,只要为社区做了贡献就会公示出来,广告一下也是应该的。总的来说我希望这个社区作为整个Julia用户群体的一部分是由社区驱动的,这也更加的自由和开源。

我后面出现的频率会比较少,希望大家理解。

3 个赞

ADA感觉不错,但是文档少的可怜。

会用周末还是怎样?我可以做volunteer但是平时要上班。周末的时间倒是很空~母胎 solo系列

我來再分享一些個人看法和大家討論。

首先,Julia在中國的推廣有很多方面。文檔漢化是一個方面,JuliaCN的團隊在這方面做了大量工作,我們所有用戶都應該感謝。

http://docs.juliacn.com/

另外,Julia是一個國際社區,除了讓Julia走進中國以外,我們還需要讓國內的Julia程序員和愛好者走出自己的小圈子,和國際接軌。這意味著通過學習Julia學習英文,在現有的網絡局限下學習國際合作。在世界各地有很多像你們一樣的華人Julia程序員和愛好者,大家在用中文思考的同時,還會用英文交流。

我剛才和@Jun 討論了一下。徵得他的同意後,我打算最近幾天開個頭寫一點中文原創文章在JuliaCN名義的GitHub發表和大家分享。

我個人的實驗草稿區在這裡

GitHub的好處是很多分享平台都可以利用那裡的數據。這是Jupyter Notebook 閱讀器平台的一個例子。

https://nbviewer.jupyter.org/github/dev-juliacn/ubuntu/tree/0023688fbfb0abeab810bd5a789575a3788d8e7f/home/

成熟後的有些文章和程序會逐漸放到正式區。請大家關注支持。

謝謝。

4 个赞

我是个小白Julian,刚开始接触。技术上全都仰望大神,但是好就好在我在北京读研,到时候我可以去做个volunteer吗?管盒饭就行:joy:

我在想要是Julia可以有一些类似Matlab的Simulink就好了,比如通信方面的包什么的,有个可视化界面拖控件就更好了

Simulink 估计就不要指望了,Python那边都没有。而且完全可以用代码的形式去完成。

我也认同各位Julian因该学习阅读英文资料,翻译的效果总是没有original的意思流畅。而且翻译会耗调太多的时间和精力,很多时候翻译完成之后,材料很快就更新了。

Octave这么多年都没有做成,不用指望Julia做一套完整的alternative。我个人认为Julia的目标不是replicate simulink,而是提供更好的solution。

其實用現在的技術,我們會比simulink做得更好。

如果你有興趣往這方面發展,我可以給你一些資料。

高層的可以從這裡開始

https://jupyter-client.readthedocs.io/en/stable/messaging.html

底層的從這裡

谢谢,这对我之后的学习很有用的

感觉 [Julia在中国的推广]阻碍最大的就是——那堵墙。
虽然有浙江大学开源镜像站,但是貌似解决不了Building的时候的问题。

3 个赞

确实,有时候building一个包得好几分钟,还不见得一定能成功

自从依赖全面换成BB2之后 curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds 已经变成了日常。

Last login: Tue Nov 26 21:39:50 on ttys000
➜  julia git:(release-1.3) make
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   495  100   495    0     0    315      0  0:00:01  0:00:01 --:--:--   315
 54  499k   54  271k    0     0   4470      0  0:01:54  0:01:02  0:00:52     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   630    0   630    0     0    123      0 --:--:--  0:00:05 --:--:--   163
  6  499k    6 34359    0     0    952      0  0:08:57  0:00:36  0:08:21     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
make[1]: *** [/Users/gnimuc/Codes/julia/deps/srccache/GMP.v6.1.2-3.x86_64-apple-darwin14.tar.gz] Error 28
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) make
===============================================================================
  ERROR: sha512 checksum failure on GMP.v6.1.2-3.x86_64-apple-darwin14.tar.gz, should be:
      80e7c6eff9cba0dc871f320d0c570523d6fd53a9bcb3022fa6b75b4ef509872c
      9d4414fb4d37f9e4138cf2266621aac9bbd4da0a7deeb1ed014be8c37cbc2adb
  But `shasum -a 512 /Users/gnimuc/Codes/julia/deps/srccache/GMP.v6.1.2-3.x86_64-apple-darwin14.tar.gz | awk '{ print $1; }'` results in:
      9bfa338549748a8707d05191e774f956e37dca6a2f5148c833017fdfe40d5e15
      36ef0b81c4cd99f55d2117d18ef4cd4f00ce631d80a63b54d0e89a7716d5a7b1
  This can happen due to bad downloads or network proxies, please check your
  network proxy/firewall settings and delete
/Users/gnimuc/Codes/julia/deps/tools/jlchecksum: line 41: realpath: command not found
  
  to force a redownload when you are ready
===============================================================================
make[1]: *** [/Users/gnimuc/Codes/julia/usr/manifest/gmp] Error 2
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) rm /Users/gnimuc/Codes/julia/deps/srccache/GMP.v6.1.2-3.x86_64-apple-darwin14.tar.gz
➜  julia git:(release-1.3) make                                                                                
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   495  100   495    0     0    100      0  0:00:04  0:00:04 --:--:--   104
  0     0    0     0    0     0      0      0 --:--:--  0:00:20 --:--:--     0
curl: (28) Connection timed out after 15081 milliseconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   630    0   630    0     0    435      0 --:--:--  0:00:01 --:--:--   435
100  499k  100  499k    0     0   7212      0  0:01:10  0:01:10 --:--:--  9755
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0    187      0  0:00:02  0:00:02 --:--:--   187
100  998k  100  998k    0     0   4708      0  0:03:37  0:03:37 --:--:--  7410
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   503  100   503    0     0    331      0  0:00:01  0:00:01 --:--:--   331
100  218k  100  218k    0     0   4999      0  0:00:44  0:00:44 --:--:--  8015
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0     68      0  0:00:07  0:00:07 --:--:--   107
 14  835k   14  118k    0     0   2331      0  0:06:07  0:00:52  0:05:15     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    365      0 --:--:--  0:00:01 --:--:--   365
 75  835k   75  628k    0     0   3914      0  0:03:38  0:02:44  0:00:54     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
make[1]: *** [/Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz] Error 28
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) rm /Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz
➜  julia git:(release-1.3) make
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0    150      0  0:00:03  0:00:03 --:--:--   150
 65  835k   65  543k    0     0   1736      0  0:08:12  0:05:20  0:02:52     0yu
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    226      0 --:--:--  0:00:02 --:--:--   225
 54  835k   54  458k    0     0   4782      0  0:02:58  0:01:38  0:01:20     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
make[1]: *** [/Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz] Error 28
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) rm /Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz
➜  julia git:(release-1.3) make                                                                                     
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0    327      0  0:00:01  0:00:01 --:--:--   327
 22  835k   22  186k    0     0   1364      0  0:10:27  0:02:19  0:08:08     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    442      0 --:--:--  0:00:01 --:--:--   442
100  835k  100  835k    0     0   4110      0  0:03:28  0:03:28 --:--:--  5049
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0    279      0  0:00:01  0:00:01 --:--:--   279
 15  671k   15  101k    0     0   2380      0  0:04:48  0:00:43  0:04:05     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    319      0 --:--:--  0:00:01 --:--:--   319
  2  671k    2 16946    0     0    433      0  0:26:26  0:00:39  0:25:47     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
make[1]: *** [/Users/gnimuc/Codes/julia/deps/srccache/LibGit2.v0.28.2-0.x86_64-apple-darwin14.tar.gz] Error 28
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) rm /Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz
➜  julia git:(release-1.3) make                                                                                     
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0     79      0  0:00:06  0:00:06 --:--:--   133
  4  835k    4 34252    0     0    489      0  0:29:09  0:01:09  0:28:00     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    201      0 --:--:--  0:00:03 --:--:--   201
  6  835k    6 51762    0     0   1362      0  0:10:28  0:00:37  0:09:51     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
make[1]: *** [/Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz] Error 28
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) make
===============================================================================
  ERROR: sha512 checksum failure on LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz, should be:
      928663098cc31d29415bf169ce6e0599190b5bc6f4f5cb0afb9dd5e27a1b755b
      5895b133692386d72af20587deacabf8992b773e623ef30a2b7c9a01f40661a6
  But `shasum -a 512 /Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz | awk '{ print $1; }'` results in:
      2197b618e0da556ab702c8f064c7fe84470aa57c1cd97a05ee6ed551a982e606
      20f2b1f5e6742c3ce2f6a04de62e601facb68835d135e66ba98fdfc38ade576f
  This can happen due to bad downloads or network proxies, please check your
  network proxy/firewall settings and delete
/Users/gnimuc/Codes/julia/deps/tools/jlchecksum: line 41: realpath: command not found
  
  to force a redownload when you are ready
===============================================================================
make[1]: *** [/Users/gnimuc/Codes/julia/usr/manifest/curl] Error 2
make: *** [julia-deps] Error 2
➜  julia git:(release-1.3) rm /Users/gnimuc/Codes/julia/deps/srccache/LibCURL.v7.61.0-1.x86_64-apple-darwin14.tar.gz
➜  julia git:(release-1.3) make                                                                                     
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   505  100   505    0     0    194      0  0:00:02  0:00:02 --:--:--   194
 38  835k   38  322k    0     0   3304      0  0:04:18  0:01:39  0:02:39     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   635    0   635    0     0    268      0 --:--:--  0:00:02 --:--:--   268
 24  835k   24  202k    0     0   5114      0  0:02:47  0:00:40  0:02:07  6734

build什么时候也可以换源就好了

其实我导师认为这个所谓墙问题并不是关键。除了极少数比如易语言、文言文编程、东北话编程(后面这俩个其实都是文艺娱乐性质的编程语言了),其它一切主流语言都是国外发明的,也同样面临这个问题呀,对不对,那么按照你的这个说法,国内似乎应该是易语言之类的一统天下了,但显然没有。所以我觉得你所提到的这点真心不是主要问题,还是要从julia语言自身的一些特性找问题。比如c++之类的包都可以下载到本地再安装,看似手动操作要麻烦一点,julia提供了近乎在语言内的“一键式安装”似乎简洁一点,但一旦遇到像网络问题这样的意外情况,这种机械性、自动化的方式似乎就不如像c++那样手动下载安装的方式好弄了。

1 个赞

被墙其实导致了很多资源不仅仅是package都无法访问。Julia目前在国内的状态(无商业应用)决定了Julia在国内没法得到推广(没钱)。之前下载问题迟迟不能解决也是因为没钱,没有政府承认的组织来管理镜像。package目前通过清华的镜像解决了。实现上1.4开始也允许自己host镜像,不是什么大问题。

大问题在国内社区被迫和主要的Julia开发者隔离,以及中文开发者的匮乏。这个结果就是中文互联网上的资料质量和数量都比英文的差。然后有很多英文的内容还访问不到。

build是不能随便换的,除非作者写明可以换哪些。npm社区以前就发生过因为不安全的依赖导致用户中毒的问题。

Julia的包一直都可以手动下载安装。

3 个赞

你把源代码clone到本地, 然后 ]add c:/path/to/Package1

谁能写个包包把这一策略进行到底?可行吗?