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.

Reply via email to