On Mon, Aug 3, 2015 at 3:02 AM, Colin Fleming <colin.mailingl...@gmail.com> wrote:
> For Clojure nothing beats emacs + CIDER >> > > As a clearly biased participant here (I develop Cursive) I'd like to > politely disagree with this. Lots of people are switching to Cursive from > Emacs, including many that you've heard of. Obviously different strokes for > different folks etc, but a lot of experienced Emacs users are finding > enough additional value in Cursive (and potentially other environments, but > I can't really speak to them) that they're willing to go through the pain > of switching editing environments to get it. A lot of people also switch > from one to the other depending on what they're doing - lein and boot > provide enough of a layer that this is not painful and allows you to use > the strengths of one or the other. > > Obviously I'm delighted if people are happy with the tools that they're > using, whatever they may be, but I do think it's time to lay to rest the > myth that Emacs is the only (or unequivocally the best) environment for > Clojure. That hasn't been true for a long time - there are lots of good > options. > > CURRENT USE CASE: I appreciate all this feedback re choice of editor. My situation is I've spent the last few years a working school that teaches Java, Python, Ruby etc. using either: (1) browser plugins for code editing and bash shell access (beginner level) or (2) Eclipse IDE. [1] We provision each student using Eclipse with a Windows machine in the cloud, back ended into a Linux file system (mapping a Windows V:-drive -- for Virtual -- to the student's sandbox). So they're using Eclipse on client Windows (we pay license fees for that) back ending into Linux. One reason we do that is "realism" i.e. we're simulating / emulating a plain vanilla US corporate cubicle (one could argue), but the main reason is Visual Studio. We want to use that too and that's Windows-only. HYPOTHETICAL FUTURE: In the hypothetical model I'm working on, based on all of the above, we replace Windows with Ubuntu in the cloud, on an EC2 instance. Then for Python do something with I-Py Notebooks and VPython for 2D + 3D graphics, but then it's starting to look like maybe staying with Eclipse for Java and Clojure, Ruby and Rails... not Atom, as I was originally considering. [2] However, provisioning students with tools they'll use for a few months then move on, is quite different from making a personal choice as to one's favorite IDE. So even now my comments to students involve mentioning other IDEs they might want to try, i.e. there's no evangelism for any specific IDE, though there is evangelism for Open Source, this being O'Reilly of OSCON fame. [3] REQUIREMENTS BASED ON CURRENT DESIGN: Two other pieces of this puzzle: (A) when a student hacks on a Python or Java project and want's mentor feedback, it's *not* a matter of the mentor remoting in to the student instance or accessing the students V: drive. Rather, we have software infrastructure by the talented Michael Long that zips up the entire Eclipse project and sends it to the mentor's computer, where it unzips. The mentor can run the code, find bugs, make changes, without touching the student's original. The mentor can send the whole project back, though usually quotes and comments are sufficient. (B) when a student submits work to the mentor, notification goes to a queue with a time stamp. The mentor pulls student work off the queue, which is what triggers the zip / unzip transfer, making the whole process quite decoupled and asynchronous. In other words, each mentor is presented with a "dashboard" of queued submissions per course. I currently teach four courses whereas other mentors have taught many more. So I spend hours every day in Eclipse, looking at one student project after another, either passing the project or sending it back with feedback for more revision. OPEN SOURCE ANGLE: What I'm brainstorming is a similar workflow migrated from Windows clients to Ubuntu instances on EC2, meaning a rewritten workflow. The parent company has neither the in-house skills nor the funds to accomplish this overhaul and indeed all the aforementioned capability was intact prior to our school's purchase. A typical move in such situations is to wonder if there's a nucleus here that could help a lot of similar enterprises i.e. what if we package up the workflow engine as some Open Source product (I'm calling it Asynchronous Learning Engine or ALE) such that any school or corporate training division could do the same: provision training studios in the cloud pre-wired to facilitate student-mentor workflows as described above? [4] My motivation for sharing these details here is precisely to start gauging the interest level around such an Open Source project, which I think could be of help to colleges and universities as well. There'd be room for lots of value added, i.e. the curriculum itself, the actual leaning materials, are not specified by the ALE. SUMMARY: Anyway, that's the big picture of what I'm working on. In our current Windows incarnation, we do not yet include Clojure in our curriculum, and I am just starting to learn it. I've studied Scheme in the past but never used it professionally. I'm a fairly old guy (57) who got into solo applications development back in the days of xBase (proprietary). I came to Python around version 1.6 (it's 3.5 today). Based on feedback so far, I'm leaning towards staying with Eclipse while continuing to alert students to their options. Again, we regard our tools as semi-transient. Some of our Python students are new to programming and have never used an IDE. As a mentor, I use PyCharm on my local platform (when not in the cloud), which is basically IntelliJ skinned for Python-only (JetBrains builds them both). I've been using Cursive. I have not tried the Eclipse Counterclockwise plugin yet, but have been watching Youtubes about it and see it could be quite effective for our purposes. [5] Kirby PS: another thing ALE does not do in my world is give mentors a way to assign letter grades or compute grading curves or whatever. Our model is of an obstacle course with feedback and developing "muscles" by doing or by "making" (this "leaning by making" lingo is what attracted the founder of Make: magazine to buy us for the parent company in the first place). Just keep submitting versions until the mentor says it's good. In programming, it's OK to take longer, but it's not OK to write buggy code and call it "good enough". So if a college or high school intent on sticking with letter grades were to use ALE, that part could be part of the value added. That keeps ALE more general purpose anyway, and of potential in-house value to large enterprises with training needs. [1] What we currently cover: http://courses.oreillyschool.com/courseList.html [2] Initial consideration of Atom from GitHub: http://worldgame.blogspot.com/2015/07/pws-personal-workspace.html [3] My slides from most recent OSCON in Portland, Oregon: https://www.flickr.com/photos/kirbyurner/sets/72157653861631353 [4] Introducing ALE as a concept: http://controlroom.blogspot.com/2015/08/asynchronous-learning-engine-ale.html [5] Collecting YouTubes on Clojure: http://mybizmo.blogspot.com/2015/08/clojure-collection.html -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.