snearch + javascript   586

Disappearing Frameworks – Samsung Internet Developers – Medium
The web platform as a framework
In her article “A Rube Goldberg Machine” and subsequent talk, my colleague Ada Rose Cannon shared how new CSS and JavaScript features can be “thought of as frameworks built into the web platform”. For example, CSS Custom Properties (a.k.a. CSS Variables) might mean you don’t need a CSS precompiler like Sass anymore. And CSS Grid might now save you from downloading Bootstrap.

“You don’t need a framework to use CSS Grid. CSS Grid is a framework.”
- Rachel Andrew
Frontend  Javascript  Trend  framework 
july 2018 by snearch
Blog
Sometimes when I'm busy working, some random colleague/Discord member would ping me and tell me "Yo Cheng Lou why are Reason's errors so bad? Why can't you be more like Elm Cheng Lou? Why? Look at how great Elm's errors are Cheng Lou, look."

In reality I'm pretty darn ashamed of our error messages; here we are, a type system with two decades of solid research and implementation, but sometimes presented to the end users as if it's something that'd get in their way.

No more! We've heard you loud and clear, and delivered you much improved error messages! A few things we did:

Display the error-ing line(s), right inside the terminal.
Better colors, for quicker visual search.
Improved messages in many cases.
Errors in Reason syntax for Reason files.
A bit of breathing room between lines.
The last point is a tradeoff; errors end up taking more space. Seeing that you'd usually focus on a single error rather than trying to get an overview of all errors, we've deemed this tradeoff worthwhile, especially in the context of a big amount of build output. Considering the new warning format:
Reason  Elm  Javascript 
october 2017 by snearch
Reason 3 | Hacker News
jordwalke 3 hours ago [-]

Hi, I’m the original inventor of React and I really like SML, however SML just didn’t have a few of the escape hatches or advanced features that were needed to implement a very usable, extensible, and type safe React interface or implementation, so I eventually explored the OCaml type system and I found that it has many of those missing links. One surprise was that when showing it to fellow UI developers, I would constantly be met with confused looks and after digging into people’s feedback, I found that most developers weren’t seeing the same thing that I was seeing on the screen so they weren’t able to see the ideas expressed in the code. The syntax was very commonly cited as a major point of friction. I don’t see anything wrong with OCaml’s syntax but my opinion alone doesn’t matter because a major goal of software is to collaborate with other people - who matter.
To fix the problem, a couple people from various parts of Facebook got together and started building/testing Reason together, and eventually we shipped what is likely the largest (in terms of machines (billions)) OCaml deployment ever via Reason React.
There’s still many pieces of OCaml beyond syntax that should be improved and we would like to continue fixing all the blockers to adoption that we can. Thankfully the rest of the OCaml community has the same goal and are doing great things at deeper parts of the toolchain and compiler. Our story started from the UI use case so our work and messaging so far has centered around it.
reply
Reason  Reasonlng  Bucklescript  OCaml  Facebook  Javascript 
october 2017 by snearch
Why ML/OCaml are good for writing compilers (1998) | Hacker News
hongbo_zhang 8 hours ago [-]

For web developers who are looking for an industrial strength functional language instead of JS, OCaml probably has the best story here.
Actually it has two OCaml->JS compilers of very high quality The first one, js_of_ocaml, could bootstrap the whole compiler several years ago(probably the first one there).
The recent one, https://github.com/bloomberg/bucklescript, push the JS compilation into next level, it generates fairly readable code, good FFI story, and its compilation is extremely fast, check out the compiler in JS version(http://bloomberg.github.io/bucklescript/js-demo/), and imagine how fast it would be for the compiler in native version. BuckleScript has a good story for Windows, and generates fairly efficient code, see benchmark here: https://github.com/neonsquare/bucklescript-benchmark BuckleScript is already used in production by big companies: for example Facebook messenger.com 25% is powered by BuckleScript, the new WebAssembly spec interpreter by Google is also partly cross compiled into JS by BuckleScript.
Disclaimer: I am one of the authors of BuckleScript
reply
...


nv-vn 9 hours ago [-]

Just to clarify, it's not concurrency that's the issue but parallelism. You can write nice concurrent code pretty easily, but writing code that runs on multiple cores is still a problem. Also, if you're interested in using OCaml for web programming, there is some pretty cool stuff you might wanna check out [1] [2] [3]. That said, there's no great solution to the lack of macros :/
[1] https://github.com/dannywillems/ocaml-for-web-programming
[2] https://github.com/rizo/awesome-ocaml#web-development
[3] https://facebook.github.io/reason/ [2]
reply
OCaml  BuckleScript  Javascript  Webdevelopment  Reason 
april 2017 by snearch
JavaScript founder Brendan Eich: WebAssembly is a game-changer | InfoWorld
Speaking at the O'Reilly Fluent conference in San Francisco on Wednesday, Eich called WebAssembly the most exciting development he has seen in the past year. The project boosts Web performance by providing a portable code format to run in browsers at native speeds. Major browser vendors Apple, Google, Microsoft, and Mozilla all are on board with the effort.
Javascript  WebAssembly  Zukunftsmärkte  Trend  Innovation  Webdevelopment 
march 2016 by snearch
Dance to Calypso | Matt Mullenweg
So we asked ourselves a big question. What would we build if we were starting from scratch today, knowing all we’ve learned over the past 13 years of building WordPress? At the beginning of last year, we decided to start experimenting and see.

Today we’re announcing something brand new, a new approach to WordPress, and open sourcing the code behind it. The project, codenamed Calypso, is the culmination of more than 20 months of work by dozens of the most talented engineers and designers I’ve had the pleasure of working with (127 contributors with over 26,000 commits!).

Calypso is…

Incredibly fast. It’ll charm you.
Written purely in JavaScript, leveraging libraries like Node and React.
100% API-powered. Those APIs are open, and now available to every developer in the world.
A great place to read, allowing you to follow sites across the web (even if they’re not using WordPress).
Social, with stats, likes, and notifications baked in.
Fully responsive. Make it small and put it in your sidebar, or go full-screen.
Really fun to write in, especially the drag-and-drop image uploads.
Fully multi-site for advanced users, so you can manage hundreds of WordPresses from one place.
Able to manage plugins and themes on Jetpack sites, including auto-upgrading them!
100% open source, with all future development happening in the open.
Available for anyone to adapt to make their own, including building custom interfaces, distributions, or working with web services besides WordPress.com.
Wordpress  Calypso  React.js  Javascript  Node.js 
january 2016 by snearch
What Holds Me Back from ClojureScript | Hacker News
rlander 10 hours ago

Let me just preface this by saying that I've written Clojure in anger for the past 5 years and I agree with all of the author's points.

I love writing Clojure(Script) code, but I hate reading it. It fits perfectly with the way I think (when I'm writing code), but horribly with the way I try to understand code I wrote months ago.

With that said, the emergence of Elm as a viable alternative to front end functional programming has pushed all my new projects away from ClojureScript. Now, for the author's CS complaints, Elm has:

* Fast compile times, startup time indistinguishable from JS.

* Great error messages.

* Imature tooling, but that's changing quickly.

* Static type checking.

So, maybe op should give Elm a try.

[Edit: clarification]
Javascript  Elm  client-side 
december 2015 by snearch
Client-side haskell – Ifeanyi Ubah
This will be a hands on tutorial on how to use Haste, a Haskell to Javascript compiler that allows you to write Haskell code that can be executed on the web. We will be creating a simple pong game while exploring some of the features of the Haste environment. You can check the game out over here.
Javascript  Haskell  Haste  to_Javascript_compiler  Canvas  html5 
september 2015 by snearch
Kotlin M11 is out! : programming
[–]metaperl 3 points 14 hours ago

What's so good about ScalaJS?

This live coding I think answers that question:

Live-coding a simple game in under 5 minutes
Showing the infamous To-Do MVC done with Scala.rx and ScalaTags
Showing his cool "Roll" game
Showing the Scala.js-Fiddle
Webdevelopment  Scala  ScalaJS  Javascript  PROs 
march 2015 by snearch
We Don't Need No Stinkin' Frameworks: Writing Web Apps with Bacon.js and virtual-dom
I should mention React and Flux, the current darlings of web developers everywhere. Of all of these options, only the React/Flux combo struck me as truly practical for real-world web development.
...
While stream-based programming with Bacon.js is not a silver bullet, it does offer more manageable code and, most importantly, a mental shift from the idea of program state.
Javascript  Bacon.js  libraries_programmers_tools  stream_based  programming  reactive  flux  React.js 
march 2015 by snearch
Why OCaml, why now? | Andy's blog
Industry acceptance

There is always an element of “I have a hammer, everything looks like a nail” when learning a new language but the evidence that OCaml is becoming more widely accepted is not hard to find.

In the middle of February, Thomas Leonard’s OCaml: what you gain post made waves; the reddit and hackernews discussions are fascinating. A lot of people using OCaml in the industry came out of the woodwork for that one. I’m still working my way through the series of 11 posts Thomas made, dating back to June 2013, about his process of converting a large Python codebase to OCaml.

Facebook have a fairly extensive OCaml codebase (more details below).

It doesn’t take much googling to find presentations by Skydeck in 2010 (they wrote ocamljs, the first ocaml to JS compiler) or a 2006 talk describing why OCaml is worth learning after Haskell.

OCamlPro appear to be seeing good business out of OCaml, and they have an excellent browser-based OCaml tutorial (developed using, of course, js_of_ocaml).

No list of OCaml developers would be complete without mentioning the immense amount of code at Jane Street.

There are plenty of other success stories.
...
The elephant in the room

The first question I usually get when I tell a Functional Programming guru that I’m learning OCaml is “Why not Haskell?”. It’s a fair enough question. Haskell can do a ton more than OCaml can, and there are only one or two things OCaml can do that Haskell can’t (I don’t know the details exactly, I would think it was zero). I see a lot of references to OCaml being a gateway drug for Haskell.

The answer is JavaScript. As much as I hate the language, JS is the only realistic way to write web apps. Included in the many and varied AltJS languages, both OCaml and Haskell can be compiled to JavaScript but the Haskell compilers aren’t mature enough yet (and I’m not convinced lazy evaluation in JavaScript will have good performance).

In fact, some study has revealed OCaml may be the most mature AltJS compiler of all by virtue of support for existing OCaml libraries.
JavaScript

Late last year I started hearing about OCaml at Facebook. Their pfff tool, which is a serious OCaml codebase all by itself, is already open source – but there was talk of an even larger project using js_of_ocaml (the link seems to be offline, try the video). That presentation by Julien Verlaguet is almost identical to the one he gave at YOW! 2013 and it really grabbed my attention. (Hopefully the YOW! video is online soon, as it’ll be better quality).

To cut a long story short, Facebook created a new language (Hack, a statically typed PHP variant) and wrote the compiler in OCaml. They then use js_of_ocaml to compile their entire type checker into JavaScript, as the basis of a web IDE (@19 minutes in the video) along the lines of cloud9. Due to the use of OCaml for everything, this IDE has client-side code completion and error checking. It’s pretty amazing.
OCaml  PROs  functional  fun_in_programming  programming  industry_acceptance  Javascript  AltJS  js_of_ocaml  Hack  Facebook  Erfolgsgeschichte 
february 2015 by snearch
What blocks Ruby, Python to get Javascript V8 speed? - Stack Overflow
V8 has a team of brilliant, highly-specialized, highly-experienced (and thus highly-paid) engineers working on it, that have decades of experience (I'm talking individually – collectively it's more like centuries) in creating high-performance execution engines for dynamic OO languages. They are basically the same people who also created the Sun HotSpot JVM (among many others).
Javascript  V8  Hintergründe  Google  Java  HotSpot  Sun  JVM  Bak_Lars  Professional_Software_Development  Profession 
january 2015 by snearch
« earlier      
per page:    204080120160

related tags

002  ==  ===  Add-On  added_value  Adobe  adsense  AI  AIM  AirBnB.com  Airbnb.com  ajax  algorithm  AltJS  amazing  Amsterdam  Analytics  Anforderungsprofil  Angular  Angular.js  Anypixel.js  API  AppJet  Apps_Script  Arbeitstechniken  Arc  Arduino  asm.js  Assembler  AST  async  asynchronous_event_processing  auswerten  Authentication  autocompleter  autocomplete_library  AVM  await  AwesomeChartJS  Babel  Backbone.js  Backbone_on_the_client_and_the_server  Backend  bacon.js  Bak_Lars  Batman.js  Belege  Bellard_Fabrice  Blender  block_scope  Blogs  Bluetooth  Bluetooth-LE  bm  booking.com  book_recommendation  Bootstrap  Browser  browserify  Browsers  Browser_programmieren  BSD-Lizenz!  BuckleScript  Bucklescript  Business  business_idea  C#  c't  C++  C++11  Calendar  callback  Callbacks  callback_hell  Calypso  canvas  canviz  can_compile_itself  CDN  Celerity  Charts  cheatsheet  Chicken_Scheme  Chrome  Chrome_Browser  citations  Claessen_Koen  classes  client-side  client_side  clipboard  clipboard.js  Clojure  ClojureScript  CLOS  Closure  closures  cloudless  CLR  clutter  Cocaine  Coco  Cocoa  Coffeescript  Comet  commercial  CommonJS  COMMON_LISP  comparison  compiler  Compilerbau  component_sw  compression  CONs  console  Cookbook  cool_Tools  core.async  Coro::AnyEvent  CouchDB  cowboy  cps_continuation_passing_style  creation_myth  CSound  CSP  CSS  d07  D3  D3.js  DaftPunk  Dahl_Ryan  Dart  Databases  DataTables  debugging  DECT  deferreds  Derby.js  destructuring_assignment  Developers_Toolbox  development  device_orientation  devtools  DHT  Django  dnode  Docker  documents  Dojo  Dojo_Toolkit  Doktorarbeit  DOM  domain_specific_languages  Drupal  dsl_domain_specific_languages  ECMAScript  Ecmascript  ecmascript.org  ECMAScript_6  Edge  EditorConfig  Eich_Brendan  ElasticSearch  Elm  emacs  Emacs_Rocks  Embedded_Systems  Ember.js  Emscripten  env.js  equality_table  Erfolgsgeschichte  Erlang  error_handling  ES6  ES6+  EventMachine  event_handlers  event_handling  event_streams  Express  ExtJS  F#  fable  Facebook  Facebook_SDK  Fay  fbp_flow_based_programming  FFMPEG  FFT  filetype:pdf  File_upload  FireBug  Firebug  Firefox  Firefox-Lesezeichen  Firefox_3.5  Firefox_OS  first--person_engine  Flash  Flask  flexigrid  Flot.js  Flotr2.js  Flow  flux  form_validation  Forth  framework  Freelancing  FritzBox  Frontend  frp  FullCalendar  Function.prototype.bind  functional  functions  funny  FunScript  fun_in_programming  Futures  Fxpay  games  Genius  Geschäftsmodelle  GHCJS  gif  gif.js  Gimp  git  Glut  Golang  Golang_to_JS  Golang_to_WebAssembly  Google  GopherJS  GorillaScript  GPL  Granger_Chris  graphics  Graphics::Tools  graphviz  grid_components  Grunt  GUI  GWT  Hack  Hadoop  handlebars.js  Hardware_Basteleien  Harmony  Hashbangs  Haskell  Haste  haxe  headless  Heizungsthermostate  Helma  Hemi  Highcharts.js  higher_quality  Hintergründe  Homebrew  Home_Kit  hot  HotSpot  html  html5  html5media.js  html5_application_cache  html5_web_storage  HTML::Canvas  HTMLUnit  http  http-server  Hue  Hughes_John  IBM  IDE  image  implementation  in-app  industry_acceptance  infinite_scrolling  Ingenieure  Ingrid  inheritance  Innovation  Insp.  inspiration  instead_of  Interesse  Internet  Internet_Explorer  Interpreterbau  Interview  IoT  IT  Jabber  Java  javascript  Javascript::Frameworks  Jaxer  JetPack  jpolite  jqGrid  jquery  jQuery.sheet  jQuery_mobile  jQuery_UI  JsFiddle  jslinux  JSON  json-template  JSONP  JSONSchema  jsplumb  JSX  js_of_ocaml  JVM  jwz  JägerMonkey  Kal  Kay_Alan  knockout.js  KVM  lake.js  LAN  laziness  lazy_loading_images  Lernherausforderung  Lernprojekt  Lesezeichen-Symbolleiste  libev  libraries_programmers_tools  libuv  life_without_jQuery  Lighttable  LimeJS  Linux  LISP  listing_properties  literate_programming  LiveReload  LiveScript  m04  machine_learning  Macros  Magento  Markdown  Marketing  Mathematik  MathJax  media:document  mehr_A_verdienen  Memcache  Merlin  Meteor  Meteor.js  Microsoft  mobile  model  moden  modern  modern_JS  Modules  Monad  mori  Mosqito  Mozilla  mp4  MQTT  MQTT-Broker  Mu  multipart_XHR  Multithreading  Musik  Musikerequipment  Musik_machen  Musik_machen::Tools  Mustache.js  MVC  MySQL  nconf  netscape  nginx  Nitro  Node-RED  node.js  Nolen_David  NowJS  no_framework  npm  NVD3.js  OAuth  OAuth.io  OCaml  OCamlScript  OOP  Opa  OpenGL  OpenSSL  Open_Source  Opera  Orderly  OSCAR  PaaS  Pac_Man  Padrino  parsing  payment  paypal  pdf  performance_considerations  Perl  Perl5  Perl6  persistence  PhantomJS  Philips  php  php5  Plack  Plugin  PNG  POE  Polyfills  Polymer.js  Postgresql  PouchDB  print  print!  print!!  print!!!  Produktivität  Profession  professional_software_development  programming  Programming_Language  Projekt  Projekt_IPTV  promise  Promise.js  promises  PROs  protocol  Protothreads  Prototype  Prototypes  Protovis  Python  QEMU  Qt  QuickCheck  Quickcheck  Quickcheck-Clones  Quvig  Racket  Rails  Raphael.js  RaphaelJS  ray_tracing  React.js  reactive  reactive.js  ReactJS  Reactor.js  ready_event  Reason  Reasonlng  ReasonML  Redis  regular_expressions  REPL  RequireJS  RequireJS_Plugin  REST  RethinkDB  reuse  RFC6455  Rhino  RightJS  Riot.js  Roy  RPC  Ruby  Russel_Alex  rvm  R_Programming_Language  Safari  Sales_report  Scala  Scala.js  ScalaJS  Scheme  Schumacher_Merlin  Scriptaculous  Security  Self  seo  sequence.js  Sereal  server_side  set_focus_to_HTML_form_element  sIFR  Sinatra  Sinatra_Framework  SlickGrid  SLIME  Smalltalk  smart_home  smart_home-Zentrale  Smart_Home_ohne_Cloud  Snap  snippets  Socket.io  Sockets  Software  Software_Transactional_Memory  Sonic_Pi  SoundScript  Spock  Sprites  Sproutcore  SQL  SSE_Server_Side_Events  SSL  Stack  Standardisierung  standardization  Standards  startup  static_type_checker  static_typing  Steckdosen  Stick  Streaming  stream_based  strict_mode  Sun  svg  SVG.js  Swank  swank-js  Swannodette  sweet.js  sweeten.js  Swift  TameJS  Tangle.js  Tang_Audrey  TC39  templates  template_system  testing  teuer_bezahlt  text_processing  tgrid  The_Foundations_of_New_Computing  this  Timesheet.js  Tipps_und_Tricks  TLS  ToffeeScript  tools_software  TOP  Tornado  Tornado_Framework  to_Javascript_compiler  TR064  TraceMonkey  Traceur  trampolining  Transaction_Framework  transforms  Transition  Transpiler  TravisCi  Trend  TRY_DART!  tutorial  Twisted  Twitter  Two.js  typeahead.js  typeclasses  typeof  TypeScript  Typescript  type_providers  UDP  Underscore.js  unobtrusive  Unreal  upload  USB-Stick  USP  Utelisys  uWSGI  V8  V8_engine  V8_Javascript_Engine  v8_Java_Script_Engine  Venn_Diagrams  Vergleich  vi  vibrate  Victor_Brett  video  Video_Tag  VirtualBox  virtual_DOM  Virtual_Machines  Visual_Event  vs.  vue.js  Wachstumsmarkt  WASI_WebAssembly_System_Interface  wasm  Webapplications  WebAssembly  WebAudio  webcast  webdesign  webdesign-Beispiele  webdevelopment  Webdevelopment::new_technologies  Webdevelopment::Tools  webdriver  WebDriverJS  WebGL  Webhosting  webkit  WebM  webpack  webservices  Website  websockets  Web_2.0  Web_Components  web_worker  Weizenbaum_Joseph  where_to_place_Javascripts  why  Wirfs-Brock_Allen  without  without_framework  Wordpress  Xen  Xhp  XHTML  XML  XML_APIs  XMPP  XSS  XUL  y2015  y2019  Yandex.com  Yeoman  Yesod  YUI  Zawinski_Jamie  Zigbee  Zigbee-Rollos  Zigbee-Steckdosen  Zigbee-Stick  Zigbee2MQTT  Zigbee2MQTT-Stick  Zombie.js  Zukunftsmärkte  Überblendung 

Copy this bookmark:



description:


tags: