IRC Logs for #io Saturday, 2014-01-11

*** bjz has quit IRC00:29
*** bjz has joined #io00:31
*** robonerd has joined #io00:50
robonerdin the context of web app dev (+ client/mobile/etc would only be a bonus), does anyone happen to know of a language with [opt-in] static gradual typing? ideally, i want to not only be able to say some property is an array, but say it's an array with only string elements.00:50
locksrobonerd: Dart?00:53
robonerdreading00:54
*** sr has joined #io01:03
*** mkroehnert has quit IRC01:09
pdurbinrobonerd: 01:11
pdurbinAn optional type system for Clojure01:11
pdurbinhttps://github.com/clojure/core.typed01:11
robonerdyea found that01:12
robonerdty01:12
robonerdwhat do you think about this idea?01:12
pdurbinopt-in typing? seems interesting. never tried it01:12
jeroptional typing seems to at best, cause people to cheat with typing systems and drop typing when it's inconvenient01:22
jerso i doubt it'd help much at all01:22
pdurbindoesn't Go have optional typing?01:26
locksthat I do not konw01:27
pdurbinhmm. " Go's type system has no hierarchy, so no time is spent defining the relationships between types. Also, although Go has static types the language attempts to make types feel lighter weight than in typical OO languages." -- http://golang.org/doc/faq01:28
jerinterface{} <-- everything01:29
robonerdjer, if you were going to start doing a bunch of web app dev, which lang would you use?01:35
robonerdi don't mean any front end01:36
robonerdjust the layer 1 servers http traffic will hit01:36
robonerdjson/html01:36
robonerdlike what ruby/rails does01:36
lockslike I said01:37
robonerdor erlang webmachine01:37
robonerdok well give me a fucking clue here plz01:37
lockswhat kind of web apps do you want to make?01:37
locksis it just the usual CRUD kind of apps?01:37
locksare you streaming?01:37
lockswhat kind of scaling are we looking at01:37
locksdatabases? which kind?01:38
*** jfischoff has joined #io02:58
*** jfischoff has quit IRC02:59
*** jfischoff has joined #io03:04
jerif i were going to start doing a bunch of web dev? I'd most certainly shoot myself04:04
*** jfischoff has quit IRC04:17
*** bjz has quit IRC05:23
*** bjz has joined #io05:25
*** bjz has quit IRC05:29
*** bjz has joined #io05:30
*** gatesphere has quit IRC06:33
*** xjiujiu has joined #io07:16
*** xjiujiu has quit IRC07:24
*** xjiujiu has joined #io07:25
*** asie has joined #io08:31
prologicI know I'm late to this discussion09:04
prologicbut honestly09:04
prologicyou're kind wasting your time with static typing09:04
prologiccertainly if you think it'll save you09:04
prologicor help you build better quality systems09:04
prologicyou should never rely on your environment, langauge or platform for quality09:04
prologicyou "build" quality inot your system09:04
prologicunit tests, system tests, integration tests09:05
prologicbehavior driven development09:05
prologicand jer is right09:05
prologicweb devopment kinda really sucks more and more these days09:05
prologicthere is so much inconsistency with browsers and various platforms it's not even funny anymore09:05
*** mkroehnert has joined #io09:15
*** asie has quit IRC09:16
*** asie has joined #io09:27
*** xjiujiu has quit IRC09:50
*** asie has quit IRC10:03
*** mi6x3m has joined #io10:12
*** mi6x3m has quit IRC11:15
locksprologic: you have much to learn, grasshopper :}11:21
prologicreally? :)11:35
prologicwhy do you say that11:35
prologicand at what point does one not consider themselves "grasshopper" anymore? :)11:35
prologic10 years of web development?11:35
prologic15 years of web development?11:35
prologicmore? :)11:35
locksnever11:36
prologicihmo there are always two fenses that developers sit on11:36
prologicstatic vs. dynamic11:36
prologicI sit on the later :)11:36
prologichaha11:36
prologicyes well I do agree :)11:36
lockssee11:36
prologicwe are always learning11:36
prologicin any case11:36
prologicI was merely making a point of11:36
prologic"building quality"11:36
prologicnot magically expecting it11:36
prologicof course it is11:37
prologicbut I haven't been convinced otherwise so far11:37
lockstype theory is important11:37
prologicof course11:37
prologicnever said it wasn't :)11:37
prologicI just don't see how static type systems guenatee a better quality system11:37
locksbecause they allows you to reason about your system better11:38
prologicI disagree11:38
prologicthey may allow you to reason about them in some way11:38
prologicbut you can also reason about your system with dynamically tpyed systems too11:38
locksnot in the same way11:38
prologicno precisely11:38
locksand not to the same degree11:38
prologicbut you still can11:38
prologicthe reasonining is just different11:38
prologicin my expereince you reason about systems built in with dynamic type systems by talking about their behavior11:39
prologicperhaps even their tests11:39
prologicand what exceptional circumstances they may tolerate or not11:39
prologicon the other hand static type systems are most strict11:39
prologicand you can reason more acutely about them11:39
prologicbut of course you pay for that in ridigness11:40
prologichehe11:41
prologicI'm sure there are many11:41
prologicI've probably read countless11:41
locksthis one was pretty good11:41
prologicnah11:41
prologicI'm not talking about Java types at all11:41
prologicI'm speaking in general11:41
locksbecause it dispels the static vs dynamic myth 11:42
prologicI haven't worked with Java for over 15 years11:42
prologicdisepsl what exactly?11:42
prologicdispels*11:42
*** asie has joined #io12:09
*** mi6x3m has joined #io12:47
*** fredreichbier has joined #io12:53
*** asie has quit IRC13:08
*** mi6x3m has quit IRC13:24
*** asie has joined #io13:38
pdurbinyou guys scared off the original poster? ;)13:40
*** mi6x3m has joined #io13:58
*** gatesphere has joined #io13:59
*** asie has quit IRC14:03
*** asie has joined #io14:20
*** gatesphere has quit IRC15:03
*** waxjar has joined #io15:05
jerprologic, static types help with the basic mistakes; nobody's suggesting that it's a panacea (at least in this channel that i know of)15:22
jerprologic, it doesn't mean you can stop writing test cases to prove certain behaviours and disprove others15:23
jeri have built dynamic languages, i've built static languages -- i've been migrating more and more towards stronger typing instead of runtime assertions, the older i get15:24
jerhell, 90% of the reason i write assertions in C for instance, isn't for me, though occasionally it does help; it's for the junior developer who looks at my code in 5 years15:24
jerand can better understand that these kinds of typing problems are the major source of bugs in most apps15:24
jerstupid mistakes end up costing a large chunk of time to fix. they're quick to fix, but also numerous15:25
jerthat said, on another topic, i really want to get a parallela cluster; 4 boards, 64 cores on each15:25
*** asie has quit IRC15:28
pdurbinfor years I've used dynamic languages and this past year I've been using a statically typed one... the benefits of static typing are more apparent to me now15:39
mi6x3m:)15:41
mi6x3mpdurbin: there are some exceptions of course, even with a dynamic language you can be ok: e.g. Clojure15:42
mi6x3mor hopelessly lost, e.g. PHP Ruby15:42
jeroh i dunno, i'd prefer to see a haskell-lite -- one that doesn't force category theory down your throat15:49
jeri mean, category theory is something every developer should learn at some point, but haskell takes it to the extreme and forces you to employ it in your code.15:50
mi6x3mjer: how do you feel about ocaml/f#?15:53
locksRust has a pretty interesting type system16:04
jermi6x3m, don't use them enough these days16:08
jeri used to write a lot of ocaml about 10 years ago16:08
pdurbinjer: do you like clojure?16:12
jerpdurbin, i have only used it for about a week, so can't form a good opinion16:16
jerit's an interesting use of the jvm but not sure it interests me16:16
*** mi6x3m has quit IRC16:19
*** mi6x3m has joined #io16:22
pdurbinjer: fair enough. any opinions on erlang?17:06
*** gatesphere has joined #io17:08
*** asie has joined #io17:08
jerpdurbin, depending on your background, high barrier to entry; if you're not familiar with the supervision model, you won't get much benefit out of it than most other languages17:25
jerelixir is a better erlang, but similar caveats apply17:25
pdurbinsure17:33
pdurbinthere's a guy who's into scala at work. I'm thinking of trying to learn from him17:33
*** fredreichbier has quit IRC17:52
*** Raimondi has quit IRC18:04
*** mi6x3m has quit IRC18:21
*** asie has quit IRC18:50
*** asie has joined #io19:06
*** espiral has quit IRC19:26
*** espiral has joined #io19:34
*** Raimondi has joined #io19:51
*** jfischoff has joined #io21:03
*** asie has quit IRC21:24
prologic<jer> i have built dynamic languages, i've built static languages -- i've been migrating more and more towards stronger typing instead of runtime assertions, the older i get <-- ahh yes I'm all for strong typing :) but then again static and strong typing are different :)21:27
prologicPython (for example) is strongly typed21:27
lockshahahaha21:29
locks:D21:29
locks(just kidding)21:30
zephyrtroniumyou're right, 1L + 1.0 is an error in python21:32
zephyrtroniumlong, at least in 2.x21:32
zephyrtroniumpretty sure they got rid of it in py3k since all integers are longs21:33
prologicof course I"m right21:33
locksic21:33
prologicPython is strongly typed21:33
zephyrtroniumi can't think of any examples supporting strong typing in python21:34
zephyrtroniumi do seem to remember reading elsewhere that it is strongly typed, though21:34
prologiceverything about it is strongly typed21:34
prologicPython is a strongly typed, dynamic language with duck typing21:34
prologicplus also OO21:35
prologicand supports many paradigms, procedural, functional and OO21:35
zephyrtroniumyou keep saying this, but you also keep lacking examples21:36
prologichttp://stackoverflow.com/questions/11328920/is-python-strongly-typed21:46
*** mi6x3m has joined #io22:43
*** mi6x3m has quit IRC23:08
jerprologic, uh, you're mixing strong and static like most people i know. i mean static types -- predicates the compiler checks for across your codepaths to ensure that the right kind of thing is being passed in or used23:35

Generated by irclog2html.py 2.11.0 by Marius Gedminas - find it at mg.pov.lt!