Go编程之道:探索埃拉托斯特尼筛法
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"1.3 Go coding in go way.pdf 是 GopherChina 2017 大会上 Tony Bai (来自 Neusoft) 的演讲资料,探讨了编程语言如何影响程序员的思维方式,引用了萨丕尔-沃夫假说和图灵奖得主 Alan J. Perlis 的观点。文档中通过一个实例——素数筛问题,对比了 C 语言和 Haskell 两种不同编程语言的实现方式,展示了编程语言对解决问题思路的影响。 主要内容围绕以下几个知识点展开: 1. **萨丕尔-沃夫假说**:该假说认为,人们使用的语言会影响甚至决定他们的思维方式。在编程领域,这意味着不同的编程语言可能会引导程序员采用不同的思考模式来解决问题。 2. **图灵奖得主 Alan J. Perlis 的观点**:他认为,一种不改变我们思考编程方式的语言是不值得学习的。这强调了选择和理解不同编程语言的重要性,因为它们能拓展我们的认知边界。 3. **素数筛问题**:这是一个经典的算法问题,用于找出小于或等于给定整数 n 的所有素数。Eratosthenes 的筛法是一种有效的解决方法,通过遍历并标记合数(非素数)来实现。 4. **C 语言实现**(sieve.c):这段代码展示了基于数组的内存操作来实现素数筛。首先填充数组并用2去除其倍数,然后依次用其他素数进行筛选。这种方法是面向过程的,强调了循环和数组操作。 5. **Haskell 实现**(sieve.hs):Haskell 是一种函数式编程语言,其代码使用递归和过滤功能来实现素数筛。这种方式更侧重于表达式和数据流,而不是状态变化和控制流程。 6. **编程语言对思维的影响**:通过 C 和 Haskell 的对比,可以观察到命令式语言(如 C)强调步骤和状态,而函数式语言(如 Haskell)更注重逻辑表达和数据变换。这表明不同的编程范式可以训练程序员不同的思维习惯。 7. **编程语言的选择**:选择合适的编程语言取决于问题的性质、性能需求以及个人或团队的熟悉程度。理解和掌握多种语言可以帮助程序员更灵活地解决问题,并扩展他们的编程技巧。 "1.3 Go coding in go way.pdf" 文件探讨了编程语言如何影响编程思维,通过素数筛问题的两种实现方式,展示了不同编程范式的差异和优势,强调了学习和理解多种编程语言的价值。
![](https://csdnimg.cn/release/download_crawler_static/43239997/bgc.jpg)
![](https://csdnimg.cn/release/download_crawler_static/43239997/bgd.jpg)
![](https://csdnimg.cn/release/download_crawler_static/43239997/bge.jpg)
剩余68页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/459f81ce201f4cc1b6365874dd0497df_qq_19309473.jpg!1)
- 粉丝: 12w+
- 资源: 7849
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-1.c8e153b4.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-2.8b825a4e.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-3.fc5e5fb6.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-4.320a6894.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/vip-rights-icon.fe0226a8.png)
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)