Live data from Hacker News

Wapp – A Web-Application Framework for Tcl

wapp.tcl.tk

51–57 of 57 posts

Re: Wapp – A Web-Application Framework for Tcl

#54

Earlier quoted context omitted.

I used to fix some bugs in Tcl/Tk program a long time ago and it was the opposite of "fun". But frankly it was about 10 years ago (and the program in question was ancient even back then) and I don't really remember much, and if it was a fault of Tcl, Tk, or the actual program.

Tcl has this interesting property. It's closer to Lisp in spirit and shell in syntax, but it also looks superficially like C, being actually nothing like it. People who try to program in it as if it were C usually fail and start hating it, whereas people who understand its essence start liking it. Unfortunately, people often encounter Tcl in situations where there's nobody to explain it to them, so they learn it the…

To paraphrase the moderator of comp.compilers from many years ago, everything is easier if you always keep in mind that TCL is a string substitution language.

Re: Wapp – A Web-Application Framework for Tcl

#55

I've heavily used TCL twice in my career, and while I find it an interesting experiment in a language, and actually enjoy a lot of it, I would never recommend it to anyone, nor would I ever pick it for a project. The core idea of "everything is a string" just has a lot of failure modes, and you find yourself making common errors even after years of developing with it. But it's a really neat exploration of a "what if"…

TCL is one of the few languages allowing you to dabble in to and one of the few that caught hook with me. It's friendliness then leads you down a path of voodoo and creativity.

  proc displayHackerNews {} {
  set hn "Hacker News" ;#Fill the variable (hn) with the string "Hacker News"
  puts $hn ;#output the variable ($hn) to terminal
  } ;#end procedure

  displayHackerNews ;#execute the procedure
   displays: Hacker News
If statements are easy

  set hn ""
  if { $hn eq "Hacker News" } { puts $hn } else { 
     set hn "Not Hacker News" 
     puts $hn 
  } ;#end if
Infinite Loops are fun

  set hn "Hacker News" ;#Set a variable
  while { $hn eq "Hacker News" } {
    puts "$hn" ;# print "Hacker News" to terminal in an infinite loop
  } ;#end loop
Multi-threading is a breeze.

  package require Thread
  set MyThreadID [thread::create { 
  puts "Hello from my new thread"
   thread::wait
  } ;#end code-to-run
   ] ;#end thread
And finally, a if-switch-threaded-loop

  set hn "Hacker News"
  if { $hn eq "Hacker News" } {set switch "hn" } else { set switch "" }

  switch $switch {
  hn { 
  set MyThreadID [thread::create { 
  proc displayHackerNews {} {set hn "Hacker News" ; puts $hn} ;#end procedure

  #set aCounter to zero, if aCounter is 
The simplicity of the language plus it's power enhances it further then python could ever reach. It also powers the Mar's Rover a long with 99% of all industrial technology. I wouldn't be too surprised to find the nuclear launch button is coded in TCL. (that part might not all be true) but

It's a nice language but to diss it that much, don't. It's a fun language to use and creates modern enhancements. I would HIGHLY recommend it to anyone who's confused about programming. Running remotely hosted X applications via novnc natively on most OS is tasty.

If one language that should be dropped is GOlang. Rust wins. It came from Google. Seriously, github links in source? Yes, looks smart and modern but is incredibly stupid. NO programming language should ever pull URL links for dependence. You wouldn't execute a random bash file on the internet to install a script would you? It's no difference.

I create a repo, heres link to repo, people install repo. I maliciously change the code to backdoor your box, you don't notice. Well done, You've compiled remote backdoor new version, none the wiser.

Who really reads the dependency code that that person has wrote?

My home page completely coded in PureTCL. No Databases, No JavaScript, no SSL and no bitching. http://fantasy.tf/

Re: Wapp – A Web-Application Framework for Tcl

#56

I've heavily used TCL twice in my career, and while I find it an interesting experiment in a language, and actually enjoy a lot of it, I would never recommend it to anyone, nor would I ever pick it for a project. The core idea of "everything is a string" just has a lot of failure modes, and you find yourself making common errors even after years of developing with it. But it's a really neat exploration of a "what if"…

In the 1990s, when Tcl was taking off, there was really nothing else that made it as convenient to glue together different C libraries and slap a (Tk-based) GUI on it. It was a welcome revelation, compared to XWindows programming. In the 1990s.

Yeah, my first encounters was the early 90s, where I wrote a gene sequencing support system with TCL/TK - it was pretty fun and worked pretty well, but there wasn't a lot available in the space. Python was still being dreamed up, bash wasn't up for it, and otherwise you had Fortran/C/C++/Pascal/Lisp.

Fast forward 20 years and I found myself using it again, but it felt silly compared to the now-mature Python, Lua, PHP, and Ruby.

Re: Wapp – A Web-Application Framework for Tcl

#57

I've heavily used TCL twice in my career, and while I find it an interesting experiment in a language, and actually enjoy a lot of it, I would never recommend it to anyone, nor would I ever pick it for a project. The core idea of "everything is a string" just has a lot of failure modes, and you find yourself making common errors even after years of developing with it. But it's a really neat exploration of a "what if"…

I haven't used Tcl for anything in ages, but I have a book on it that I thumb through sometimes because it's so bizarre and fun to read about. For example, you can delete or rename procedures on the fly, including built-in procedures. So you can rename a built-in like puts to something else, create your own puts procedure, and then call the old one (under its new name) in your new procedure (in case you wanted to ove…

>$your_entire_comment

upvar

Expect & children (& see Don Libes book)

>a lot of their better ideas were refined in their more orderly successors.

Predecessors:

- ???

- Smalltalk

- Forth

- Lisp

#Not a language lawyer, just love proglangs

Post reply on HN