5 ms·
Honestly imo Python is the best language to start with for learning. It has all the basic constructs of both functional and object oriented programming in plai
by gr3yh47 10y ago
Honestly imo Python is the best language to start with for learning.
It has all the basic constructs of both functional and object oriented programming in plain english without a bunch of syntax to worry about. I personally think it's the most readable language. it's also quite intuitive imo. Lastly, there's a fantastic community and instant help is available for all skill levels but especially beginners on #python on freenode irc
Pyret... isnt very readable, doesnt seem very intuitive, has somewhat odd syntax, and generally seems like a terrible choice for learning. Doubt it has the resources quality python has (community, docs, tutorials)
i dont get it.
- AstralStorm 10y agoIsn't readable? It has mostly Python syntax. Some bits inspired by Standard ML, Ocaml, F# and Haskell. Nothing odd here. End marker prevents accidental scope overrun and is from Pascal I think. Community is hard to get for any new language. If this got popular, there would be no such problems. You're arguing that Python is Good Enough. But then, so was assembly.
- posterboy 10y ago>has somewhat odd syntax says the programmer using significant whitespace runs for cover
- jpolitz 10y agoThe readability, unintuitive, and "odd syntax" comments are somewhat subjective, though I'd curious to hear what parts are odd and unintuitive for you. I linked to a perspective on where Pyret fits in in another similar answer: https://news.ycombinator.com/item?id=13187379 https://news.ycombinator.com/item?id=13187379 We also may have different definitions of what a "beginner" needs for community and help. Pyret is used in middle and high school classes (along with the undergraduate level). Those students, nor their teachers, are likely to know what IRC is or how to seek help on it. We do a lot of curriculum development, and professional development workshops in the summer are a major way we interact with these teachers and set them up with a high-bandwidth way to communicate with us over the year (which is direct email or mailing lists). Prompt and detailed help is certainly available for teachers (who then help their students), and it's coming from the folks who designed the curriculum and the language together. Those mailing lists are public (pyret-discuss [1] and bootstrap-teachers [2]), and anyone is welcome to ask away. [1] https://groups.google.com/forum/#!forum/pyret-discuss https://groups.google.com/forum/#!forum/pyret-discuss [2] https://groups.google.com/forum/#!forum/bootstrap-discuss https://groups.google.com/forum/#!forum/bootstrap-discuss Of course, Pyret doesn't have the huge community, Stack Overflow presence, documentation maturity, etc. of Python (or other major languages) for general programming. That takes time and consistent effort, but the lack of it doesn't negate the reasons Pyret is good for its current use cases.
- zem 10y agoi think the pyret syntax is wonderful, personally. it takes a lot of good bits from my two favourite languages, ruby and ocaml, and blends them into a nicely coherent whole. there are a few minor things i'd probably have done differently, but on the whole i find pyret code very pleasant to read.
- a0 10y ago> there are a few minor things i'd probably have done differently, but on the whole i find pyret code very pleasant to read. Curious to know what would you have done differently. I'm working on a programming language based on OCaml with Ruby-like syntax.
- zem 10y agojust bikesheddy stuff like * |> rather than ^ for the pipe operator (more consistent with several other languages) * [list| 1, 2, 3] rather than [list: 1, 2, 3] (just for better visual distinction, though the current syntax does look pretty clean and uncluttered) * having a separate code block for methods of individual variants rather than interspersing them with data definitions (because i think it's important that the basic data definition be as uncluttered as possible) if you'd like some syntax feedback on your language i'd be happy to take a peek :)
- skrishnamurthi 10y agoI'd disagree with the second one. `[list: 1, 2, 3]` reads more like in English: "I'm going to define a list: one, two, three…". Whereas `[list| 1, 2, 3]` has no obvious vocalization. (Vocalization is an important characteristic for us; it's how `ask` came to have its syntax.) In addition, we usually use `|` in programming languages in a separator kind of way (even `||` for "or" separates expressions), which it's certainly not in the list expression.
- zem 10y ago"list where the elements are 1, 2, 3", by analogy with set builder notation or list comprehensions :) but i agree the current one reads better as english. it's the separator aspect i was getting at with my proposal though - visually it's [ datatype | elements ] whereas the current one looks more like the colon is part of the first element - [(list : 1), 2, 3]
- skrishnamurthi 10y agoNo, Python doesn't actually have a lot of things you need in education. See https://news.ycombinator.com/item?id=13189513 https://news.ycombinator.com/item?id=13189513