`
flyfoxs
  • 浏览: 298186 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

一道淘汰85%面试者的百度开发者面试题- [用Clojure来解答]

 
阅读更多

题目来源:

http://student.csdn.net/mcd/topic/235300/753730

 

最近学习Clojure好一段时间了,在网上看到一个蛮简单的面试题,于是用Clojure解答一下.
注: Clojure主要是合适并行开发的场景,这个例子仅仅是解答了这个题目,优势并不明显.

 

(doseq  [n (range 1 101)] 
 (do (print n)
  (println
   (cond  
    (= (mod n  15) 0) "*#"
    (= (mod n  5) 0) "#"
    (= (mod n  3) 0) "*"
    :else ""
    ) 
   )
 )
)

 

 

 

 

0
2
分享到:
评论
6 楼 flyfoxs 2014-04-25  
jahu 写道
也许吧,在一个应用软件,可能不会出现。当时复杂的企业级和互联网软件。。能用?


Strom(一个和Hadoop类似的软件,Twitter,阿里都在用),核心就是基于Clojure. 你可以Google一下,这个也是非常成功的一个互联网软件.

想想数据库处理并发的能力多么牛逼,Clojure要是提供像数据库一样的事务的功能,哪怕只有一半,那是多么的吸引人的.
5 楼 jahu 2014-04-25  
也许吧,在一个应用软件,可能不会出现。当时复杂的企业级和互联网软件。。能用?
4 楼 flyfoxs 2014-04-25  
jahu 写道
flyfoxs 写道
clojure 语法和平时JAVA, C之类的差别很大. 如果之前没有了解,是不大容易看懂.

他的主要优点,我认为有如下几点:
1)多态方面支持比Java要强大些
2)支持宏
3)支持事务(数据库支持ACID, Clojure支持ACI)

可读性,可维护性,可扩展性。有没有。
java 8,出了那个什么lu语法,,就是一个鸡肋。。。


我也感觉好像可读性好像是不行,但是听好多Blog吹嘘蛮好的. 比如有如下理由:

因为代码行数比较少,精简,所以可读性很强
因为是函数是编程,无副作用,没有复杂的上下文环境,可读性很强之类
3 楼 jahu 2014-04-25  
flyfoxs 写道
clojure 语法和平时JAVA, C之类的差别很大. 如果之前没有了解,是不大容易看懂.

他的主要优点,我认为有如下几点:
1)多态方面支持比Java要强大些
2)支持宏
3)支持事务(数据库支持ACID, Clojure支持ACI)

可读性,可维护性,可扩展性。有没有。
java 8,出了那个什么lu语法,,就是一个鸡肋。。。
2 楼 flyfoxs 2014-04-25  
clojure 语法和平时JAVA, C之类的差别很大. 如果之前没有了解,是不大容易看懂.

他的主要优点,我认为有如下几点:
1)多态方面支持比Java要强大些
2)支持宏
3)支持事务(数据库支持ACID, Clojure支持ACI)
1 楼 jahu 2014-04-25  
看不懂。这是什么。

相关推荐

    nginx-clojure-0.5.1.tar.gz

    Nginx-Clojure 是一个 Nginx 的模块,用于嵌入 Clojure 或者 Java 或者 Groovy 程序。 可以通过nginx-clojure实现JAVA扩展nginx的功能,如权限验证。

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    ### Clojure入门教程知识点概述 #### 一、Clojure简介 - **Clojure**是一种运行在Java虚拟机(JVM)上的动态编程语言,它继承了Lisp家族的强大功能,同时结合了现代编程语言的优点,如面向对象编程和函数式编程。 ##...

    Python-利用Clojure实现的一个可拖放的看板示例

    这暗示了项目可能使用了Clojure的某些库或框架,如Reagent或React,它们允许开发者用Clojure来构建用户界面,并支持React的组件化和状态管理。 标签"Python开发-其它杂项"虽然没有提供具体细节,但暗示这个项目可能...

    programming-clojure-3rd

    总的来说,《Programming Clojure 第三版》是一本全方位的Clojure指南,适合初学者和经验丰富的开发者。它涵盖了Clojure的所有重要方面,包括语法、数据结构、函数式编程、并发、Java互操作性和实际应用开发,是深入...

    nginx-clojure:Nginx-Clojure 是一个 Nginx 模块,用于嵌入 Clojure 或 Java 程序-开源

    Nginx-Clojure 是一个 Nginx 模块,用于嵌入 Clojure 或 Java 或 Groovy 程序,通常是那些基于 Ring 的处理程序。 查看 http://nginx-clojure.github.io 了解更多详情

    kafka-streams-clojure:Clojure换能器与Kafka Streams的接口

    总的来说,`kafka-streams-clojure`为Clojure开发者提供了一个强大的工具,使得他们能够充分利用Clojure的函数式编程特性来处理实时数据流。通过将Clojure的换能器与Kafka Streams相结合,开发者可以编写出更简洁、...

    docker-clojure, 用于Clojure的官方 Docker 映像.zip

    docker-clojure, 用于Clojure的官方 Docker 映像 docker这是用于Clojure的官方 Docker 映像的存储库。 它由Stackbrew自动提取并构建到 Docker 注册表中。 映像运行在 OpenJDK 8上,包含了 或者引导插件( ) 。 vs-...

    Python-closh基于Clojure的类似于Bash的shell

    总的来说,Python-closh提供了一个创新的命令行环境,它结合了Clojure的现代编程优势和Unix shell的经典功能,为开发者带来更加高效和灵活的工具。对于熟悉Clojure的用户,Python-closh不仅可以作为日常的shell替代...

    HTTPKit-Clojure的高性能事件驱动HTTP客户端服务器

    它以其轻量级、快速且易于使用的特性,在Clojure社区中受到了广泛欢迎。这个库是基于Java NIO(非阻塞I/O)构建的,充分利用了Java平台的优势,提供了高效的服务端和客户端解决方案。 在Clojure中,HTTPKit提供了...

    clash:Clojure数据分析Shell-使用Clojure从输入流进行交互式数据分析

    冲突一个clojure项目,用于在REPL中快速交互分析结构化文本文件(例如:日志,csv等)。 定义一个具有匹配文本正则表达式的代表性结构,然后将文件加载到内存中。 在开始耗时的Hadoop或Spark作业之前,这对于识别...

    clojure1.3.0及资料

    它涵盖了Clojure的工具、框架和最佳实践,对于想要将Clojure应用于真实世界的开发者来说,是一本非常实用的指南。 3. **Clojure 1.3.0**: "clojure-1.3.0.zip"包含的是Clojure 1.3.0的源代码。这个版本发布于2012年...

    practical clojure

    对于想要深入了解 Clojure 或希望利用其独特优势来构建高效应用的开发者来说,这本书是不可或缺的资源。通过本书的学习,读者不仅能够掌握 Clojure 的核心概念和技术细节,还能学到如何有效地利用这些知识来解决实际...

    Python-Nightlight一个Clojure嵌入式编辑器

    要使用Python-Nightlight,开发者需要先安装项目依赖,包括Jython、Clojure库以及项目本身。安装完成后,可以创建Python脚本来启动编辑器,并通过API与Clojure环境进行交互。例如,加载Clojure代码,执行函数,或者...

    awesome-kafka-in-clojure:在Clojure中使用Kafka和Confluent平台的出色信息

    这个资源列表对于那些想要在微服务架构中使用Clojure进行数据流处理的开发人员来说,是一份宝贵的参考资料。通过深入研究这个列表,你可以学习如何有效地构建和维护实时数据管道,同时利用Clojure的强大力量和Kafka...

    Android代码-clojure

    Clojure Copyright (c) Rich Hickey. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) ...

    初级java笔试题-iterate-clojure-workshop12:迭代clojure-workshop12

    初级java笔试题迭代Clojure介绍工作坊 Clojure 编程的实用、动手介绍,有史以来最好的 JVM 语言 :-) 是一种面向 JVM 和浏览器的现代 Lisp 语言 (),专为并发性、简单性和生产力而设计。 Clojure 我们在交互式 Web ...

    play-clojure:clojure on play 框架 2

    例如,你可以用Clojure的宏定义路由,用函数式的方式实现控制器逻辑,使用Clojure的数据结构来构建模板,并利用Clojure的测试库进行单元测试和集成测试。 为了开始使用"play-clojure",你需要下载并解压文件名为...

Global site tag (gtag.js) - Google Analytics