JuliaRoadmap

这个怎么感觉越来越像是教程而不是 roadmap 了…

啊这,
一个主要原因是,按照原定的计划,我当前做的一定程度来说确实是偏教程的东西,使得结构方面有这么点shadowing的问题
填充方面之前有人指出的几个方向是guide、tutorial、reference、document,中文文档基本上能解决refernce的问题,所以我尽量是保持在一个写newbie-tutorial同时靠note和link解决完整性的情况
如果可以的话最好给出指向性的、有建设性的方案,谢谢

先从简单的做起吧,步子别迈太大

我现在做的基本上是效率最高的部分:以前有文可以抄,用关键字搜索加点footnote
不太清楚你们需要的主体是什么,内容上这个目录划分应该给予了一个包容性的话题
我明天先提供各个扩展性适中部分的plan

如果真的想做这个,工程量会是很大的。一个大问题是:这个roadmap是写给谁看的?预设了读者的什么背景?英文社区的教程或者书籍,要么是大学里某门课程的教案,要么是某个workshop做技术培训面对已熟练掌握一些其他技能的专业人员。Julia本身仍然在发展中,就连自身的文档说明部分都远不及MATLAB等同类工具完整。举个例子,如果我是名本科生,正在学习微积分,我一开始可能什么工具都不会用,直到某一天有人告诉我用Mathematica可以直接求解各种积分,我会好奇并尝试使用它提供的微积分工具,然后进而可能了解这门语言的其他功能。我们做这个roadmap,目的不是越俎代庖,而是快速将用户导向他关注的功能。

由于Julia的开源社区属性,我们无法奢求一个像MATLAB一样集成在一起的大型文档,从教程到函数说明一一列举。我们可能能够实现的,是一个真正的地图,找到起点终点,然后自己走过去就好了。我建议在roadmap中省略所有类似教程的部分;同时,明确这份东西是给什么背景的人看的:小学生?大学生?资深码农?科学工作者?

2 个赞

我一直以为MATLAB没文档

  1. 先说受众问题
    我一开始的设想,是希望它适合任何人(按照julia现在的发展状况,也许抓些下沉市场是有必要的;对于当前情况来看,这个目标也许太大了)类似教程的部分……主要解决官方文档不符合认知规律的问题,也许没有刻意去教程化的必要吧(我之前也提到过,如果让用户到处链来链去就不太友善,因此放了些较为概括性的文字) 这个应该是最符合(我的)想法的例子,可以看看
  2. “而是快速将用户导向他关注的功能”
    这一点也许注重的是packages部分,那么我会提出一个疑问:如果是获取需要的东西的话,那么只是提供搜索工具不应该是足够的吗,看包的文档不就能解决吗,那么如果这里有问题,首先应该是各个包开发者的文档没有写清楚,在工作量上显然无法解决;又或者所说的是类似于隔壁 [视频课程] 搬运和翻译 julia-gpu-course (help wanted) 的方向,这一点上我给不了太大的帮助,用包我一直是用自己需要的东西,并没有去了解其它的话题。那么这边的框架我会尽快搭;又或者是之后会在tips那边给出的搜索页面?之后我给点打tag例子;
    如果a是名本科生,正在学习微积分,那么a拿到roadmap后我希望他做的是看完basic部分,(后期)酌情看advanced部分,看packages部分,至少提供了包搜索工具链接,然后凭借理应具备的英语能力阅读相关专业文档,这条路的优化空间不大
  3. “是一个真正的地图,找到起点终点,然后自己走过去就好了”
    那么这里的问题在于,不同人起点不同、终点不同,适合的路也不同,所以我的想法是节点化。也许之后需要添加一些页面进行串联,进行路径化

这是我放在meta目录下的如何学习章节,大家或许可以看看这篇如何修改?

关于文档这一部分,我看到的国内一些其他试图覆盖 Julia 相关文档的组织有:

这个其实是写的挺好的,如果能把内容凑成一个体系的话,Julia 界廖雪峰是你没跑了 :laughing:

只是说,从 Roadmap 的角度来说的话,我想大家应该期待的是一个像思维导图一样的东西,来帮助学习者能够快速地进入到 Julia 或者某些具体领域。对于 Julia 来说,举个例子,很多人想必会很困惑 “多重派发” 究竟是一个进阶内容还是基础内容,也会有人很困惑元编程是不是需要去学习,如果学的话,又应该以一个大概什么样的方式去学习,以及想要深入学习的话,有哪些相关的参考材料和博客链接。

如果说你对于你想要做的事情的定位是一个 “对学习者更友好的 Julia 快速入门教程”,照着你的思路去做肯定是没问题的,只是这里面的工作量其实还是蛮大的。然后确实这个教程已经偏离了最初 要不要写一个Julia学习的Roadmap? 提出 roadmap 的定位了…

好了我现在基本知道当前需要什么了
一些回答

  1. 关于文档这一部分,我看到的国内一些其他试图覆盖 Julia 相关文档的组织有
    已收到,之后会进行处理
  2. 期待的是一个像思维导图一样的东西
    不得不说的是,思维导图式的东西其实只需要一个文件就能解决(其实可以归入how-to-learn)
  3. 很多人想必会很困惑 “多重派发” 究竟是一个进阶内容还是基础内容
    在这个仓库中,个人认为是:多重派发知识影响你正常使用微积分包(即之前例子)吗?没必要知道那么详细,是进阶内容,包括structtask我也是这么安排的
  4. 然后确实这个教程 已经偏离了最初 要不要写一个Julia学习的Roadmap? 提出 roadmap 的定位了…
    其实从原帖中,就能看到大家对方向各执一词了……
    需要再次声明的是,我现在的主要工作对象,即即将填满的basic/部分,不是也从不会是项目的主体,这个项目是泛化而有细节的

P.S. 其实现在最接近于思维导图的反倒是https://github.com/JuliaRoadmap/zh/blob/master/docs/setting.json

这个帖子新开一个项目替代吧。
帖子的编辑权限不好放开。
引述外部资源的版权页不好标识。

这是绘制路线图的一个具体项目吗?感谢楼主的贡献。但我觉得还为时过早。因为先要明确受众定位目的,然后明确思路方法蓝图,最后才开始写内容。

  1. 适用于每一个人,我认为是不正确的,比如我看过了ThinkJulia,我就直接看文档了,其他入门之类的教程我扫一眼目录和序言就不看了,比如julia bit by bit,即使它说它适用于每一个人
  2. 如果定位是原始楼主的rust圣经那样的,目的是填补入门语言与上手真实项目之间的沟壑,我大概扫了一眼,就是习题化的文档呀,我认为julia可能不需要,因为我刚看了笑傲江湖,无招胜有招,简单招数无穷变化,这才是最高级的功法:joy:开个玩笑…
  3. 如果涉及到最佳实践,原贴已经有人提到了缺乏资源,不好写…
  4. 如果涉及到文档学习,比如外部程序的IO的东西,我是看了linux fu相关linux入门的资源才逐渐明白,仅看文档我感觉不够,但这也许不是julia的任务了,而且这里有个关键问题,不是julia的任务时,可以给出相关资源的链接,然而一堆油管和维基,都在墙外,这就只能算半个资源了,因为需要梯子…
  5. 最后我想问julia的markdown怎么用?文档中没说怎么用,只讲了语法。我调用这个包,然后写了个字符串,打印到终端,发现没有用…

能否说明你要用markdown干什么?

julia> using Markdown

julia> md"""
       # a
       b
       """
  a
  ≡≡≡

  b
2 个赞
  1. 用julia写和预览markdown,其实这个用哪个编辑器都行了,不用非得julia…
  2. 在终端里直接预览markdown,这个可能不太行了,markdown得转译成html才能看吧…
  3. 为路线图做贡献时的markdown,看了看社区的那个帖子和julia之月,给字符串加个md前缀就行了…

谢谢你让我发现了julia之月这个资源:wink:它就是路线图一个小型实例吧,就是有点老旧了,窃以为本楼的这个项目可以引用其的一部分…

话说我想到一个关键问题,就是能不能在Gitee上同步一个?git 推拉 github的速度还行,但仅查看github有时候就会特别卡,建议同步到Gitee上,工信部钦点的,值得信赖…

终端display出来效果还是可以的,能不用html就没必要用
gitee我一会弄下
gitee mirror按钮找不到

knowledge示例

packages示例

这个路线图项目不是要解决官方文档不符合认知规律的问题嘛?像“文件系统”这个词条的这种写法,感觉哪里不太对,用bing搜索wikipedia,说的很清楚,文件系统就是用来存取数据的,否则存了以后不知道存哪了就尴尬了。但在这里被解释为树状结构?文件系统是一种数据结构?根据林奈命名法(越靠后的越本质),这样解释也许更好点: 文件系统是一个关于文件的系统,具有树状结构。
我也不清楚什么样的写法才合适,但如果写的角度是初次接触的、非专业的,可能会更易理解一些?白居易写诗要广场舞大妈都能看懂,费曼学习新知识要讲给小学生…

1 个赞

维基上写的是

严格地说,文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。

抽象数据类型此处有误导性,前面的似乎可以借鉴

1 个赞

抱歉昨天轻率了,现在我顿悟了!原来我们平时存文件,其实是将“文件系统”这个类进行实例化,就是New方法!原来《数据结构》不仅存在于编程语言中,还在操作系统中!

刚刚发布了LightLearn v2.1.0,请确保获取最新版本

仓库地址 GitHub - Rratic/LightLearn.jl: a visual tool for julialang learning with level-installing and sandbox 使用说明见README

P.S.
1. 欢迎创作自己的LLP(LightLearn Package),欢迎在自己的仓库上折腾
2. 如果发现任何相关问题请立即联系我/在issue提出
3. 有生之年竟然能用到Base.invokelatest
4. 该项目可能会作为“项目实践”二次利用

微积分的内容还是多项式。

收到
是我瞎了,一会放上去