It is a voluntary relationship, but both parties have stakes in it and provide certain benefits and possibly some negatives to each other. That's how every relationship works and that doesn't make it abusive.
I'm surprised, I'm sure the number of likes would fall on Facebook if they switched to using hearts.
People seem to have a personal/emotional attachment to the heart symbol, which makes it suitable for social networks like Instagram, because you can love a picture! But a Donald Trump status? Not so much.
How prevalent is Tcl usage in the real world? You don't hear much about it, are there any new startups adopting it? Or is it only used in legacy projects at large companies?
I know a couple of startuppy companies that are still using it, but it certainly feels like a language in decline. There's a lot that's elegant about it, but the syntax is awkward in practice, and compared to e.g. Python there are fewer libraries available and no really compelling advantage, IMO.
It's a language that deserves better than it got - it should've become the standard for *nix config files (thanks RMS for the mess we have now). It should've been the language Sun pushed to run everywhere (it even supported java-style applets in web pages, without the slow vm startup). It should've filled the Lua niche (to a certain extent it did) as an embeddable scripting language. It should've filled the perl niche - it had good support for invoking external executables in a shell-scripting role, and could even be used as a login shell; it had good regex support, and was a first-class programming language that could be used for web backends. Heck, it even did reactive I/O in the very early days (IIRC there was a fantastic server product that was caught up in the demise of Netscape or AOL or some such) - it should've been Node too. But it always felt a bit unloved at Sun, especially post-Java (and to be fair, who can blame them when Java was that popular?), and it somehow never seemed to reach critical mass.
> IIRC there was a fantastic server product that was caught up in the demise of Netscape or AOL or some such
I believe you're referring to the ArsDigita Community System, which was written in Tcl, and which ran on top of AOLServer, a web server that supported Tcl as a scripting language.
(ArsDigita's rise and fall was a classic dotcom bubble story, complete with Aeron chairs, fancy cars, greedy VCs, founders with big egos, lawsuits, etc.)
* Tcl has exceptional testing capabilites -- tcltest drives a lot of the tests for SQLite for example, and is the core of dejagnu, the test harness that drives gcc testing (probably among other things).
* Tcl is at the core of high-end Cisco products... and on and on and on...
I think this[0] really sums up "where is Tcl these days"... it reallyisoutthere, if that makes you feel better about using it. If that doesn't matter -- the sheer joy of a solid, battle-tested, fun-to-use language/framework might be enough to draw you in. Try it. You'll like it.
Tcl was at the core of StoryServer (aka Vignette, aka OpenText) - a Web Content Management System. Some large enterprises were (maybe still are) running their Web sites on StoryServer 4.2 (Tcl) until a few years ago. It was certainly quite popular in early 2000. Then StoryServer was renamed to Vignette, then they added ASP support, after that JSP, after that outsourced everything and that was the end of it. An elegant, small and fast engine turned into a mountain of jar files and APIs that take 200 man/hours to add 2+2.
Tcl is a beautiful language, very easy to learn and very powerful. I remember reading an article by the creator of Tcl where he was amazed that Tcl is used in very different way from what he envisioned. He meant to have Tcl as a glue, high level logic layer, while low level performance-critial stuff would be done in C. That is why Tcl (1) has great support for C and (2) has ugly way of doing arithmetic (e.g. [expr $x + 1]). Truth is that Tcl was never meant to add numbers. But instead people started writing all kinds of software in it, that went far beyond glue layer.
I use it in little ways, here and there. Its syntax inspires any tool-command syntax I write (see http://yosefk.com/blog/i-cant-believe-im-praising-tcl.html). I have a few Tk scripts around to launch tasks (generate a new data repo, run various forms of regression tests, etc.); nothing beats Tcl+Tk for "build your own tool" GUIs. When experimenting with C code, it's useful to just embed a Tcl interpreter to run bits of it. Sure, I could use Lua, but Tcl's even easier.
None of those are legacy projects, but none of them are the primary focus of my work, either.
It's my first choice if I have to build a standalone app with GUI. With freewrap you can build an executable for Windows and the same source works for Linux.
I certainly don't think it's terribly common anymore, but there's still a bunch of stuff out there that uses it. I've seen it most often as a scripting extension to some larger software package (e.g. visual molecular dynamics: http://www.ks.uiuc.edu/Research/vmd/). OpenACS is also built on tcl/aolserver and was an early framework for building community web sites that's still around and still getting updates: http://openacs.org/ The "expect" program is a handy thing to have in your toolkit as an easy way to automate things and is implemented in tcl.
It's definitely not the 'in' thing these days, but it's a very solid, robust bit of code that still makes for a nice language for creating certain kinds of systems.
ProjectOpen [1] could be an example. But from my experience it is basically a legacy project used in (large) companies, because it filled a gap 15 years ago when web based PM software was still rare.
The funny thing is, that the use of Tcl is explicitly advertised as security through obscurity:
"The combination of AOLserver and the TCL programming language is not commonly found in the Internet, so a potential hacker will need to expend a considerable amount of criminal energy in order to reverse-engineer the application stack." [2].
From what I've heard, most of those tools are not really the best of poster-boys for Tcl in that they're kind of old and crufty and probably not a lot of fun to work with.
Usually, the tools themselves aren't built in TCL (they're usually C/C++), but the interface is in TCL (and some other proprietary languages, depending on which tool you're using)...
And yes, unfortunately the tools end up being old and crufty, and that was my impression of TCL.
I did a bunch of TCL while working at one of the aforementioned companies, and I got to use it enough to see the lisp-y awesome parts (if you squint hard, [ ]s are just oddly shaped parenthesis), and the smalltalk-y stuff, but I still would have preferred using a different scripting language as my interface.
Happy birthday, FreeBSD! You were one of the many operating systems I experimented with back in my teenage years, along with countless Linux distributions. The popularity has waned [1] but good to know it is still active :)
I'm not sure that's a good indicator. Linux shows a similar decline (try it yourself). I'd wager it's more a result of the rise of the general population coming online, including smartphones. Us geeks searches became miniscule in comparison. That's my theory, at least, and I'm sticking to it :)
This could be of interest if companies do not want to or for any reason cannot use an Outlook add-in to upload e-mails to apps in the cloud. With this solution you can simply use your browser after adjusting the security settings.
One use case could be the lead or opportunity management in a CRM related scenario. The sales man could simply attach the e-mail in the CRM and afterwards it would be available for all of his colleagues. As the meta data of the e-mail (e.g. subject, body) is also transferred you could easily search through all your and your colleague's mails that are only relevant for the CRM.
I have experience navigating complicated frameworks and working with a wide variety of projects, including front-end developent, automated testing systems for startups, and internal tools for Google.
Skills: Python, PHP, HTML5, CSS, Javascript, jQuery, MySQL, C++, Chef, AWS, Linux system administration
I'm a software engineer based in Edinburgh, Scotland.
I have experience navigating complicated frameworks and working with a wide variety of projects, including front-end developent, automated testing systems for startups, and internal tools for Google.
Skills: Python, PHP, HTML5, CSS, Javascript, jQuery, Facebook API, MySQL, C++, Chef, AWS, Linux system administration
Thought this would be similar to the European TransferWise and TransferGo startups, but this doesn't transfer money directly. Makes it apparent how different the financial situation is in Latin America.