This week's book giveaway is in the Reactive Progamming forum.
We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line!
See this thread for details.
Win a copy of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams this week in the Reactive Progamming forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar

Light Table - where do I start?

 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm just starting (again) with Light Table, the minimalist and innovative IDE for Clojure (and other languages) created by Chris Grainger.

But if you're like me, the first time you downloaded and started up Light Table, you were left scratching your head, staring at a virtually empty Welcome screen and wondering what to do next.

So here's my recommendation:

  • Download and start up Light Table and leave it in the Welcome screen for now.
  • In your browser, run the very helpful Introduction to Light table video from Misophistful.
  • Watch the video and try some of the examples out as you're watching.

  • This will give you an introduction to what Light Table is, and how to do basic things like find the list of commands.

  • Now watch Misophistful's equally helpful video on Test Driving Clojure in Light Table which gives you a gentle introduction to Clojure, TDD and Light Table.

  • Finally, remember to check the Light Table docs which seem to contain lots of useful material. You can access this in Light Table as follows:

  • Control-space to open the Commands tab.
  • Type "docs" to run a fuzzy search.
  • Select "Docs: Open Light Table's documentation".

  • Look out for the "Getting Started" section, which is where I plan to spend my next hour or so...

    Have fun!

     
    Rancher
    Posts: 352
    21
    Mac OS X Monad Clojure Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Excellent advice! I started dipping into LightTable as soon as the first version became available, moving up to one day a week by the time 0.5.0 appeared. When 0.6.0 appeared, I switched to it full-time for all my development - not just Clojure. I came from two years of Emacs so I've installed the Emacs plugin for LT and enabled Emacs mode in the underlying CodeMirror editor. There are a lot of useful plugins - and REPL/inline-eval for an increasingly wide selection of languages - and it keeps growing from strength to strength.

    It's definitely still a "developer's editor" rather than a general IDE: it needs some care and feeding, and it still has a bunch of quirks. But it's usable on a day-to-day basis now, despite that.

    I find the live eval feature to be so overwhelmingly useful that I'm willing to put up with the quirks.

    I usually have three tabsets open (three columns) with console on the left, my source file in the middle, my test file on the right. I write the ns declaration in both files and then ctl-shift-enter eval the whole source file and then ctl-shift-enter eval the whole test file, then I work back and forth between the tests and the code slowly growing my code over time, and evaluating each form as I write it (ctl-enter). I have a custom keymap for ctl-c , to run my Expectations (it's bound to [(:eval.custom "(expectations/run-tests [*ns*])")] so that it evaluates whatever tests have been defined.

    The immediately feedback and the ability to have really small increments of code for exploration and testing is incredibly valuable.

    I'm also using core.typed so I can overlay strong typing if I want (and I have ctl-c t bound to [(:eval.custom "(clojure.core.typed/check-ns)")] to run type checking on my code "instantly").

    Results appear inline in the source / test files, and console output appears continuously in the left tabset so you get both immediate and detailed information about your code works - or doesn't.
     
    chris webster
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks for the tips, Sean. Good to get some insights from somebody who's been using Light Table to do real development. Although I don't think I'll be engaging Emacs-mode any time soon!
     
    Good heavens! What have you done! Here, try to fix it with this tiny ad:
    Java file APIs (DOC, XLS, PDF, and many more)
    https://products.aspose.com/total/java
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!