Hacker Newsnew | past | comments | ask | show | jobs | submit | smalltalkcoder's commentslogin

I am certain you've never been to China.

https://youtu.be/uBchAUGW7Bk


And you'd be wrong.


I've been to China many times over the past 25 years. I've been to practically every corner of China. My knowledge of China is comprehensive.

Your comment makes no sense to me.



Exactly! The Chinese do not pretend they have Western liberal democracy, but the democratic system they do have works for them.

Moreover, they've seen how well liberal democracy works for USA, UK, India, Taiwan, Brazil, Hungary, and so on, and they aren't fooled. The question is: why are we?


I wouldn't characterize the Chinese political system as democratic at all, and there are many ways in which it does not work for many people. However, life has gotten way better in China by almost every metric over the last few decades, and Western depictions of China are incredibly distorted / driven by fear and chauvinism.


Whether or not we think it's democratic is irrelevant; the important thing is that the Chinese think it's democratic. China's system doesn't have to work for us, as long as it works for them.

The Chinese believe they enjoy just as much freedom as we do. They are informed by their international travel. Every year, over 100 million Chinese travel the world over. They've seen our freedoms in the US, UK, France, Germany, etc.


Most Chinese wouldn't classify their government as "Democratic" even if they think the government works for them. Most Chinese never go abroad either, just a small portion that makes up the middle class. You aren't going to talk to some farmer in the middle of henan province about their overseas trips. Heck, most people in Shanghai (the richest city) haven't been abroad, especially if they don't have hukou there (and many don't).

Given that only 120 million Chinese even have passports, 100 million traveling the world every year seems a bit optimistic.


In 2019, there were about 150 million outbound tourists from China (and I think this means mainland China, specifically, but I don't know if multiple trips by the same person count multiple times).[0]

That's up from 100 million in 2013, so the number was rapidly increasing before the pandemic (and it will probably begin rapidly increasing again).

Regardless, the point stands that at the moment, there's no mass rush to escape China. Most people in China think life is getting better year for year, and are fairly optimistic about the future of the country. It's not a democracy, but it's not the dystopia it's caricatured as in Western media.

0. https://www.statista.com/statistics/1068495/china-number-of-...


> It's not a democracy, but it's not the dystopia it's caricatured as in Western media.

It's not liberal democracy. It's not democracy as defined in the West.

It's the Chinese model of democracy, or what is known as "whole-process people's democracy."

And it works for the Chinese. That's the big takeaway.

That's why the Chinese regard China as the most democratic nation in the world, according to Latana's Democracy Perception Index 2022.


It's just as silly to buy into the Chinese government's own propaganda about "whole process democracy" as it is to buy into Western fear propaganda about China.


Why is whole-process people's democracy silly? Just because you don't believe in it?

That's what the author meant by Western arrogance. We in the West think we are entitled to define what is and isn't democracy. On what basis? Because we dominate the world politically?


Because it has nothing to do with democracy. I'm the farthest thing from a Western chauvinist, but I'm also not a naif.


You didn't read the article. Latana's Democracy Perception Index for 2022 shows that the Chinese believe their country is democratic.

Stats do show at least 120 million Chinese have travelled outside the country every year (except, of course, during the pandemic years). This is not speculation requiring optimism.


Do you have a cite for that. The most I can find is that 120 million Chinese had passports in 2016. According to https://news.cgtn.com/news/2019-07-09/Chinese-passport-holde..., they still had 120 million in 2019, and were expecting 240 million by 2020 because of a price cut in the passport fee (and then the pandemic comes, so I doubt they made those numbers). According to https://www.statista.com/statistics/1107607/china-number-of-..., it might be up to 170 million now?

But if what you say is true, that means most Chinese with a passport are taking international trips every year. If we discount Hong Kong (which doesn't require a passport, and anyways, is part of China, though it does count as an international trip from the airport's perspective, and you have to go through emigration, you also didn't say if you were counting HK residents also, so I guess we could have a bunch of different numbers there), I don't see how that could be true given the dearth of people with passports who are even capable of taking trips abroad.


Hong Kong statistics are usually separate from mainland statistics. This goes for GDP, trade statistics (Hong Kong is a separate member of the WTO, for example), and many other things. I strongly suspect that it goes for tourism statistics as well.


Hong Kong's population is only 7 million or so, a tiny fraction of 120 million travelers, assuming every Hongkonger went on international tours.


Hong Kong is a city state however, so it is probably true that most of their residents travel abroad each year (if we count China as traveling abroad, but even if we don't, > 50% is probably about right).


I assume you know that the majority of Hong Kong citizens live in poverty. They can barely afford a roof over their heads, much less international travel.

But perhaps you've never experienced poverty, so you may not know.


Although there are a lot of poor people in HK, it isn't true that most of them live in poverty:

https://www.bloomberg.com/news/features/2022-11-02/hong-kong...

1.6 million out of 7.3 million people is definitely serious, but hardly a majority. I've been to the SAR a few times, and don't think it is especially poor, especially when compared to even China's richest city like Shanghai.

As for my own personal experiences, please don't make assumptions like that. You have no idea what I've been through in my life, and it is rather not relevant to this discussion.


Perhaps I overstated the poverty in HK. But my point was that many people there cannot afford to travel. They live paycheck to paycheck; they have very little in the way of savings. I know people in HK, including family. Most people in HK are not well-off.

When you add these to the people who are living in poverty, that doesn't leave for a lot of travelers.


The ability to afford an apartment (expensive, even rent) and the ability to take a holiday to Thailand are completely different costs. An HK resident could be homeless (unable to afford rent) and still easily have the ability to take a holiday to Phuket. That's how crazy HK is, at least.


And, by the way, there are also many ways in which our liberal democracy doesn't work for us. Look at our breathtaking Covid death tolls. Look at our staggering inflation and energy shortages. Look at the current mass protests all across Europe over the cost of living. Look at the media censorship over the truth about the Ukraine war. I could go on and on and on.


> Look at our breathtaking Covid death tolls. Look at our staggering inflation and energy shortages. Look at the current mass protests all across Europe over the cost of living. Look at the media censorship over the truth about the Ukraine war.

I've had people in China asked if our country has been destroyed by the pandemic, inflation, energy shortages, BLM protests, etc...and well my answer is "no, you're just being lied to by CCTV." It isn't like the misinformation goes both ways.


True, but my point is that no population has a consensus. Whether you live in China or the West, there are people who know the truth and people who don't know the truth. There are people who are well-informed and people who are ignorant.


Just curious, why did you dismiss the Edelman Trust Barometer and other sources cited?


If China had remained a backward, undeveloped country like it was in the 1970s, the world would pay China no heed. China would get zero attention; it would be completely ignored.

Food for thought.


Ignore what?

Have you been to China?

The author isn't saying China is perfect. He's simply pointing out Western anti-China propaganda.


It is just strawman: look at some extreme reporting on China, therefore all reporting about China in the west is wrong. It would be like judging Chinese media based on editorials in Globaltimes.cn.


I've followed Western media studiously for years. NYT, WSJ, CNN, BBC, etc. I've yet to see a story about China that doesn't spin things negatively for China. It doesn't have to be "extreme reporting."


There are plenty of reporting on China in the western media that just reports..you know...news. You can spot check whatever china-related articles are showing on western media specific pages (assuming you aren't in China and therefore are blocked from those sources, of course):

https://www.cnn.com/world/china

https://www.nytimes.com/topic/destination/china

https://www.wsj.com/news/types/china-news?mod=nav_top_subsec...

https://www.economist.com/china

Just browsing the headlines, most of the stories are boring reports and wouldn't incite outrage even in a wolf warrior. But those aren't the ones that get shared around as anti-chinese articles, so...you know...selection bias.


Of course, I don't read "boring reports". I mostly read opinion pieces and journalists with on-site reporting.


Most news is boring; e.g. look at the first 15 minutes of the CCTV 7 PM news cast, it is just what Xi Jinping did today! If you just want to consume opinion pieces, then why not just look at FoxNews? WSJ and Economist, especially, are in a different boat since they cater to business readers, and they would lose money if reporting on China was constrained to just opinion pieces.

> journalists with on-site reporting

Despite China's best efforts to deport foreign journalists, there are still more than a few left.


It's worth mentioning that every time I watch Joe Biden or Antony Blinken or Jake Sullivan or Nancy Pelosi or anyone from the US government hold a press conference about China, their words are deceitful and aggressive. That's not my imagination.

When the general public sees all this on television, it is extremely influential (such is the power of television media). And, of course, all of this is repeated on social media. So I don't think it's a strawman at all.


In my experience, type-related programming bugs are very rare (less than 2%). That's why I'm not in the least bit concerned with whether or not a language is statically-typed or dynamically-typed. I use both as needed. My favourite languages are Go and Smalltalk.

Smalltalk allows me to do live programming with great ease. This is a huge productivity amplifier. Smalltalk's productivity is much higher than that of any major language in use today.


Really? About 30% of the bugs we find in our entirely-Golang codebase are something that is trivially solved by a more advanced type system, and it was even higher back when I worked on Python.


Go is not statically typed, really. Consider using Haskell, if not Agda.

About "type-related programming bugs." I once took endeavour to write cycle-accurate MIPS CPU simulation in Haskell. Most of the errors I uncovered were easily preventable with the types - mark integers with their size in bits and you will never add instruction pointer to an unaligned offset. Haskell did not had proper types at the time but later I used that trick quite successfully.

With the types you can eliminate whole classes of logic errors. They just will not appear before end user.


I have the opposite experience. Most of the bugs in my code are type-related issues, and once I fix those (usually with the help of the compiler, since I prefer statically-typed languages), my code usually runs correctly the first or second time. Throughout the 2022 AOC I only had 2 (out of 49) parts where I had a logic error that type checked but did not run properly, which I needed to debug. But in almost every part I had the compiler point out issues that I had to fix before the solutions would run at all.


Do type related programming bugs include null pointer errors? I also think this 2% stat is just complete bs. Anyway, this debate is over. Absolutely every top language designer has seen the merit of statically typed languages, if not for avoiding type errors then for making code refactorable.


Safe and sane refactoring is impossible even in mid sized code-bases without static types.

Dynamic languages are strictly only viable for throwaway code, or very small programs (where small means something up to two pages of code max, or so).


And yet Ruby and Python dominate in the most valuable YC startups.

Either "safe and sane refactoring" isn't necessary to create value. Or you're just wrong.


Sure it's not necessary when you produce throwaway code.

Most startups do exactly this.

That's even a valid strategy: Concentrate on the business case only, redo the code when you get successful and have the money to rewrite everything. (Of course quite some companies misses of missed the right time to throw away everything and rewrite it. This results later on in a huge and very expensive PITA; some of the companies affected even started to build their own compilers and static checkers for the languages they use; just look who pays for static type checkers for Python or Ruby).


So the path to success is the following:

1. Write a bit of code (two pages max).

2. Become a unicorn.

3. Rewrite everything.

Either there's something missing between steps 1 and 2, or dynamic languages allow you to become a multi-billion dollar company just by writing two pages of code. I mean they are concise, but not that concise.

But it sounds like no amount of evidence will convince you. You have to invent weird terms like "sane refactoring" and "throwaway code" that do all the heavy lifting in your religion.

If you are presented with evidence that a lot of successful companies are doing refactoring with dynamic languages, you will say "it's not sane refactoring" (no true Scotsman) or say those companies are outliers (ignoring the fact they are overwhelming majority).

But all of that doesn't matter. Those companies are still more successful.


For me it’s never been about type bugs but rather about being able to work comfortably with the code. Some of us don’t have the greatest working memories; having the IDE offering support with types is a godsend. Python’s my prototyping language and I start adding types very early on, if not right from the start.


Depends on the language, but when you have to use some metaprogramming gymnastics, then types are really hindering to develop something generically, if the language doesn't provide a fully developed type systems, which few systems have. For example higher-kinded types are quite essential, but not always given. Then I prefer dynamic typing and get this done fast without safety. But then I remember getting a lot of bugs in certain types of applications, maybe one fifth, or something.


Indentation-sensitivity is so popular that only one language in the Top 20 programming languages has it. That's nearly 40 years after I saw my first indentation-sensitive language: occam.

Indentation-sensitivity seemed like a great idea in 1983. I'm not convinced today.


Not sure what list you’re referring to, but I would expect to find Python and Scala in it, maybe OCaml or Haskell depending on the criteria.

Personally I think it causes more problems in interpreted languages, a lot of those disappear with a compiler with thoughtful error messages like Scala.


> Not sure what list you’re referring to, but I would expect to find Python and Scala in it, maybe OCaml or Haskell depending on the criteria.

Surely neither OCaml nor Haskell are in the top 20 of any "Most Used Programming Languages" list.


Maybe of undergrads at a French university :)


A common list people have in mind is TIOBE: https://www.tiobe.com/tiobe-index/

I will give you that for highly specialized domains, those lists would look different (eg in some niche OCaml would be high while Rust would be low, or R high where C++ is lower down the list) , but it is telling that Scala comes in at #32 when compared to other languages that, I think, occupy a similar problem space.

Of course, Python is #1 on the TIOBE list (and have had a strong showing for years), which I ascribe to the overall productivity and wide application domain fit. So, whether or not white space is objectively bad (for any language or only some languages), it hasn’t detracted so much from Python’s popularity.


> A common list people have in mind is TIOBE

https://blog.nindalf.com/posts/stop-citing-tiobe/


Tiobe at a time had Visual Basic ahead of JS, let’s just ignore it.


OCaml isn't indentation sensitive, BTW.


The original formulation of the offside rule made provision for handwritten entry. If/when computers get small enough to lose the keyboards and fast enough to reliably OCR, maybe that provision will be rejuvenated?


Python and Scala were already mentioned.

But also C# has indentation-sensitivity. Otherwise multi-line strings would not work.

I could imagine that other popular languages copied or will copy the same trick as C# does.


This article is mainly about the programming competition. What's wrong with that kind of evangelism? I think it's a great idea. It certainly attracts attention to Smalltalk (Pharo), a relatively obscure language.

If you're grousing about the author's comparison to other languages, he's not showing disrespect by pointing out that their approach to language promotion hasn't produced the desired outcome. He's simply stating the truth.


Dear Mr Eng (or louiscyphre or smalltalkcoder), please stop using alternative accounts to pretend that others like your articles.


I am not Richard Eng. Why would you think that anyone who supports Smalltalk can only be him? Do you really believe there is only one Smalltalk fan throughout the world?

Richard is the most prolific promoter of Smalltalk in years. So I support and applaud his efforts. Why is this so difficult to accept?


Evangelization is "preaching"; it's essentially advertising or marketing.

There's no one way to preach or advertise. One can take a number of different approaches. Presenting technical information is one way, the most common way. It's how most languages are promoted. But most languages never succeed with this approach. Most languages never gain much mind share.

So the author has taken another approach, something that is seldom attempted. The programming competition is an original and clever idea.

I'm not sure how one can "demonstrate the benefits" of a programming language. Most languages have been used successfully in software projects (e.g., Crystal, Elixir, F#, Haxe, Julia, Nim, etc.). Does trotting out these projects prove anything?


> There is no one way to preach or advertise

But writing articles about a particular premise then barely discussing it or offering a solution, that's not it.

> The programming competition is an original and clever idea

It's not that original; competitions for languages, especially to develop particular solutions in a language, happen all the time. That's how plenty of lesser-used languages wind up with some of the 'batteries' that erstwhile appeared to be missing.

It's a clever idea, yes. However, mention of the competition is also barely a paragraph's worth of text's mention at the bottom of a blog post that, I re-emphasise, gives the impression of discussing programming language evangelisation but then almost immediately makes no interesting remarks on the topic other than "some programming languages are still obscure", immediately launches into a poorly-demonstrated list of reasons why Pharo is apparently so good, and then a sentence or two about a competition.

The competition isn't even really discussed, how well it did, how many participants it drew, what came out of it. As it states, the success of the experiment is yet to be determined — which makes mention of it even more confusing.

We have a blog post with a broad, general scope that finishes with no real conclusion to its own thesis. This isn't advertising, this is spam.

> I'm not sure how one can "demonstrate the benefits" of a programming language

- Code examples (like GTK+ new website)

- Interactive widgets on websites (like ReasonML's website)

- Demonstrations of how a specific idea is better/more easily/more stably solved using that language (like most functional programming languages' websites)

- Interviews, often as blog posts or podcasts, with developers who've deployed applications or services backed by the language

There are plenty of ways that plenty of languages (and other technological artefacts, such as libraries and runtimes) can demonstrate their benefits, many more than I've listed.

Anything has to be better than saying "yes, it's better" without being able to reasonably demonstrate how or why to the satisfaction of people whose existing set of tools already ably work for them.

> Does trotting out these projects prove anything?

Yes, actually. It does. Most programming websites are falling over themselves to demonstrate that their languages are successfully used and deployed in all sorts of situations, some more domain-specific than others.

It proves that something not only is ready for the big time but also can do it something so much better than competing solutions — and, again, will demonstrate how or why.


This is a decidedly peculiar attitude. The web is a vast global network of hyperlinks — that was its original intent. A web user is expected to follow the hyperlinks to discover more information.

The author provided the key hyperlinks: https://smalltalk.tech.blog/2020/03/07/jrmpc-2020-award-winn... and the YouTube video link, as well, which also links to the main JRMPC website. Once you get to the JRMPC website, you can learn ALL about the competition in great detail, including the source code to the competition!

Moreover, the smalltalk.tech.blog itself shows the author's approach to evangelizing the language. It's one of pure marketing, trying to engage the audience with flashy visuals and more hyperlinks to examples, resources, etc. It's a very nice layout.

The whole point of the web is that a single document doesn't have to cram in all the information in one location. Think of this particular article as an "executive summary." You want to learn more? Follow the hyperlinks and do a deep dive.

The article was never intended to spoon-feed you. Use the web as intended. I did, and I'm more knowledgeable as a result.


> competitions for languages, especially to develop particular solutions in a language, happen all the time.

Perhaps, but they aren't well-advertised. It's difficult to find these competitions even using Google search. Where are they???

I'd like to know what programming competitions exist for Clojure, Dart, Elixir, Haskell, Julia, Lua, Nim, and Rust. Can you point to any? Thanks.


> The competition isn't even really discussed, how well it did, how many participants it drew, what came out of it.

I took the article as an invitation to dig deeper into the competition (follow the links). So I did. Here's what I learned...

Thirty teams registered for the competition. They represented 18 schools from 13 cities and 3 provinces all across Canada:

- St. Michaels University School (Victoria)

- St. John’s School (Vancouver)

- John G. Diefenbaker High School (Calgary)

- Robert Thirsk High School (Calgary)

- Webber Academy (Calgary)

- Strathcona High School (Edmonton)

- Waterloo Collegiate Institute (Waterloo)

- Centennial Collegiate Vocational Institute (Guelph)

- Westmount Secondary School (Hamilton)

- Marc Garneau Collegiate Institute (Toronto)

- Woodbridge College (Vaughan)

- Langstaff Secondary School (Richmond Hill)

- Henry Street High School (Whitby)

- Bayridge Secondary School (Kingston)

- A.Y. Jackson Secondary School (Ottawa)

- Longfields-Davidson Heights Secondary School (Ottawa)

- Nepean High School (Ottawa)

- St. Patrick’s High School (Ottawa)

Here is the list of participating teams: https://teams.jrmpc.ca/teams .

Here is the list of teams in the leader board for the final, prize-winning round: https://teams.jrmpc.ca/leaderboard .

So, here were the winners:

First Prize of $6,000 went to team ‘WCI1’ of Waterloo Collegiate Institute in Waterloo, Ontario.

- Keenan Gugeler (Captain)

- Alex Liao

- Ethan White

- Thomas Ingram

Second Prize of $4,000 went to Team Dijkstra of Centennial Collegiate Vocational Institute in Guelph, Ontario.

- Andrew Dong (Captain)

- David Xiao

- Alexander Liu

- Brayden Chumbley

Third Prize of $3,000 went to team ‘Bickle Blatwoon’ of Robert Thirsk High School in Calgary, Alberta.

- Xinhua Cao (Captain)

- Hunter Chen

- Umut Emre

- Ethan Kerr

The following teams were recognized for their fine efforts in the Honour Roll. They were awarded $500 each.

- The Battle of Waterloo from Woodbridge College in Vaughan, Ontario

- Computationalism from St. Michaels University School in Victoria, BC

- Quad Coders from St. Michaels University School in Victoria, BC

Throughout the JRMPC blog (https://jrmpc.ca/blog/ ), all the competition software was made available for you to download so that you could play with it yourself. That includes all the source code!

A great article comparing JRMPC to another similar competition was published: https://smalltalk.tech.blog/2020/03/03/battlesnake-the-compe... . It revealed some terrific insight.

All in all, the competition appeared to be a great success. It has certainly drawn a lot of attention, which was purportedly the goal. This is the PR value that it sought.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: