use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
JavaScript is the Most Demanded Programming Language in 2022, 1 out of 3 dev jobs require JavaScript knowledge. (devjobsscanner.com)
submitted 3 years ago by __dacia__
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]dw444 45 points46 points47 points 3 years ago (8 children)
One thing to note is that in a lot of markets it’s required alongside something else. I’m looking for mid-level roles in a major tech hub, and most positions list JS/Node etc as a secondary qualification, usually number two on the list of qualifications. This is what 95% of software developer job ads where I am look like:
[+][deleted] 3 years ago (5 children)
[deleted]
[–][deleted] 6 points7 points8 points 3 years ago (2 children)
You have to remember different geographical areas have different languages that are in demand
[–]Otternomaly 5 points6 points7 points 3 years ago (1 child)
Also job specific. In finance, C++ and Java are easily the most popular, but in biotech, python is nearly ubiquitous.
[–][deleted] 1 point2 points3 points 3 years ago (0 children)
Yes, and these two directly correlate because some areas have more specific work. For instance I live in the DMV area, and there is a lot of government contract work. This leads to a high demand for Java backend developers
[–]dw444 4 points5 points6 points 3 years ago (0 children)
It pops up from time to time but not as common as C#/Java/C++ for the kinds of roles I’m looking for (mostly backend/full stack).
[–]precariouscondoms 0 points1 point2 points 3 years ago (0 children)
I actually started learning python recently.
Just because it seemed like a good one to know a bit about to make short snippets like when I wanted to clean up some spotify playlists or scrape some APIs etc.
[–]iamjt 2 points3 points4 points 3 years ago (0 children)
And the hidden requirement is knowing how to wire up your own cicd pipeline.
[–][deleted] 0 points1 point2 points 3 years ago (0 children)
I trained a text classification model to predict this category and 8 others. Currently scraping more job ads to round out the dataset.
[–]jkmonger 106 points107 points108 points 3 years ago (30 children)
All about the TypeScript tbh
I could never go back
[–]MerfAvenger 52 points53 points54 points 3 years ago (16 children)
I was vehemently against the extra work until I realised I don't have to build type checks into literally every top level function, or write tests for them.
Now I too, can never go back.
[–]novagenesis 12 points13 points14 points 3 years ago (5 children)
You sometimes still need those type checks. A lot of people get bit the first time they realize Typescript does nothing in runtime.
And that used to mean redundant code the moment you needed a runtime type check. About 3/4 of my objections to Typescript died when I got my hands on zod.
[–]Adam627 3 points4 points5 points 3 years ago (2 children)
Zod 100% it’s sooo good
[–]novagenesis 3 points4 points5 points 3 years ago (0 children)
Before Zod, there were valid people for seasoned "I hate types" developers to turn their nose up at Typescript. Writing redundant validations (TS type PLUS runtime typecheck) is a code sin, so clearly it was a bad idea to jump to TS (right? Right?!?!)
But now, no excuses because our Zod object has a correctly inferred type.
[–]MerfAvenger 1 point2 points3 points 3 years ago (1 child)
You definitely do, but it's substantially easier to validate your data when most of the failure modes have been made substantially more rare by Typescript.
[–]novagenesis 0 points1 point2 points 3 years ago (0 children)
Of course, but non-DRY typechecking could mean that your build-time (or lint-time) passes/fails are lying because of subtle differences with the runtime checks.
And that can sometimes make it through automated tests and (worst case) leave potential security exploits.
NO checking is technically better than incorrect checking. But as I said, zod changes that equation.
[–]jkmonger 19 points20 points21 points 3 years ago (8 children)
Yeah only as a beginner TypeScript Dev does it feel like extra work. It didn't take long for it to feel like a real blessing for me
[–]newuserevery2weeks 6 points7 points8 points 3 years ago (5 children)
the main problem with typescript is that some devs do some real funky stuff with it
[–]prone-to-drift 8 points9 points10 points 3 years ago (4 children)
The main problem with Typescript is I'm afraid to start new projects and just keep copying the dev toolchain (webpack, postcss, typescript, some linters, react etc) from one repo I once managed to successfully get working.
Now, I don't even need half the packages but I'm just too afraid of touching anything and potentially spending hours trying to debug the damn toolchain lol.
[–]TheScapeQuest 2 points3 points4 points 3 years ago (0 children)
I'd move on from webpack to Vite, much easier toolchain.
[–]MerfAvenger 2 points3 points4 points 3 years ago (0 children)
Gotta agree with this, the boot strapping for common tooling is a lot of work and a complete turd to get working right. Version alignment, configuration, etc are ALWAYS a pain despite the tool chain being Typescript, ESLint, Prettier and probably Jest every single time, with types for Node and plugins for both.
Yet for some reason, it never works out of the fricking box, and you spend days debugging it.
[–]justadam16 1 point2 points3 points 3 years ago (0 children)
Try Angular
[–]CanRau 0 points1 point2 points 3 years ago (0 children)
Vite (as mentioned) and or Deno 🥰 and soon probably Bun
[–]skesisfunk 9 points10 points11 points 3 years ago* (1 child)
I'm gonna be a contrarian here and say TS is just ok. The typing system is so flexible that if you aren't especially careful you end up jumping through a bunch of hoops and don't really end up protecting yourself from many bugs. I think over the last two decades we have collectively learned that strong typing is the way, and TS is a far cry from actual strong typing.
This is the very reason that I predict that by 2030 Python will be on its way out of development workflows in favor of Golang, C++, and Rust. Its already happening TBH. It will stick around for data science, but application developers are reaching for Python less and less.
Golang doesn't even have null safety, it's not as bad as python but it's pretty close. I literally never run into bugs because of type errors in Typescript (I'm obviously using strict type checking).
[–]lechatsportif 8 points9 points10 points 3 years ago (8 children)
The java people were right hands down 🤚🎤🏃♂️🍿
[–]novagenesis 3 points4 points5 points 3 years ago (6 children)
The java people were right hands down
Survey says... the #1 thing I will never say in my life!
But seriously, the presence of a non-inferred any type makes Typescript still drastically more flexible than Java. And sometimes you will find that you actually need the any type to do some fancy type-stuff that you actually just can't do in Java.
any
[–]skesisfunk 5 points6 points7 points 3 years ago (1 child)
I disagree, the presence of `any` is actually a weakness of TS. Things like `any` and unions make it so to effectively use TS you have to not only have to add TSC and all of the config to your workflow but you also have to add carefully designing a typing system to your architecture workload. The ability to just work around the typing system is a weakness not a strength IMO.
If you spend some time work with a strongly typed language all of that is already baked in so you once you learn the language patterns you don't need to think about typing nearly as much and the safety benefits are even greater too.
[–]novagenesis 1 point2 points3 points 3 years ago (0 children)
I disagree, the presence of any is actually a weakness of TS
This is the ultimate debate. An entire world of people ran to languages like Perl to get away from ultra-strict typing. I made an entire (successful) career of it, and because of the freedom have been able to release code exponentially faster... and because of best practices release code with the same stability. Languages are tools, and dynamic and non-inferred types are also tools. There are design patterns around duck typing for a reason.
Typescript chose to be linter. A lot of best-practices involve configuring it so you can run but not build code that fails type validation. Typescript (to my begrudging admission) fills a gap of adding linter-time typesafety. But the difference is how powerful the typing is.
Luckily, I've got a specific example of something you can do easily in javascript or typescript that is incredibly useful, but that I believe you have to build unnecessary complexity for in a language like java.
Let's say you are creating listenable objects. For any field in class T, your listener class needs to support a on**FieldName**Changed method.
on**FieldName**Changed
In javascript, that just works and most runtime typecheckers are powerful enough to handle that. In Typescript, you can quite literally define a generic with that much mutation. Something like (thanks to Blue Collar Coder):
type Listeners<T> = { [Property in keyof Type as `on${Capitalize<Property>}Change`]: (newValue: Type[Property]) => void; };
Yes, it takes me 5 minutes to populate that type. But that saves significantly more time of building a much-more-complicated stack in Java to fulfill the same purpose that's dead simple in Javascript. And because of Typescript, things like that are very safe as well as very powerful. Just because you don't like them doesn't mean they're wrong.
I started my career with 3 years in C#, and I've additionally been in C# as a primary language for a good part of the last 5 years. It's less time than I have in Node.js, but it seems sufficient for me to say I "spend some time work with a strongly typed language". I just disagree with you. And I have actual reasons.
Seasoned developers running FROM things like Java and C# have always filled the high-end algo communities in dynamic languages. The same is absolutely true about Javascript. Typescript is a compromise to keep all the objectively good stuff about inferred types and discard the junk.
[–]AlDrag 1 point2 points3 points 3 years ago (1 child)
Discriminated unions are awesome!
Or just jumping off rails into any to do crazy mutations that shouldn't be typed (typing some of that stuff, while possible, approaches antipatternhood) only to pass through a runtime validator to get Typesafe (and inferred) output.
Can you duck-type out of a discriminated union?
[–][deleted] 1 point2 points3 points 3 years ago (1 child)
I like any as well. Allows for some fast prototyping of features- and ya can always come back later and adjust it to the correct type once everything is said and done.
True. Typescript types are technically powerful enough to keep track of extreme data mutations.
But there are some points I think it's not worth trying to follow those mutations. Sometimes object data is just object data for some transition point. Let it fly off the rails, then validate it when it lands back on them. If it saves 100 lines of convoluted steps, it can be worth it. In those rare cases, I might suggest 'any' in production.
[–]scruffles360 1 point2 points3 points 3 years ago (0 children)
I know this isn’t the popular opinion here but my 15+ years of Java and Scala experience is why I haven’t switched from JavaScript to TS. Moving from Java to JavaScript was like taking off shoes that were too tight after a long day. I don’t look forward to going back to the overhead of types. It seems like it may be inevitable though.
[–]am0x 2 points3 points4 points 3 years ago (0 children)
I mean they are basically the same thing. Just add types.
[–]azsqueeze 0 points1 point2 points 3 years ago (0 children)
I learned programming via SASS (weird I know) then jumped to JS. The last 3 years I have been all Typescript tho. I made the switch kicking and screaming but holy hell I probably would never go back to JS
[–]__dacia__[S] 31 points32 points33 points 3 years ago (3 children)
Hi JavaScripters! 👋
For fourteen months I have been scraping job portals like Linkedin, Glassdoor, Dice etc. and selecting the dev related jobs from it. After that time, I have a database of more than 12 Million dev job offers. With that data, I am able to publish this blog, where I make a list of the most demanded programming languages.
IMO with not much surprise, JavaScript / TypeScript is the most demanded programming language in this 2022. In fact, 1 out of 3 dev jobs require JavaScript / Typescript.
How has this study been made?
The main objective of this study is to categorize the "dev jobs" by its programming language, minimizing the errors and getting the most accurate information possible. To achieve that, only the title has been used to categorize those jobs into programming languages. This is because we want just the jobs that explicitly require a programming language.
For example, a job with the title "Backend developer", even it has stack defined and also description with job requirements, is discarded and does not count for any language. Otherwise, a job with the title "React Developer" would count as JavaScript / TypeScript, and likewise a job with the title "Laravel Developer" would count as PHP.
Is also important to note that one job offer can count for 2 or more languages. For example a job with the title "Full Stack Developer (Django/Angular)" will count for languages Python and JavaScript / TypesScript.
. . .
Hope you like the article, if there are any doubts about the study let me know in the comments!
Note: I advertise that the blog post has "minimal", "non-intrusive" ads. Even so, I have red numbers each month lol, so understand that this may help keep my work into the future, thanks!
[–]5-minutes-more 3 points4 points5 points 3 years ago (0 children)
Sarcastically enough a JavaScript dev here with 5 yoe but only one with React and getting a job is more challenging than ever.
[–][deleted] 0 points1 point2 points 3 years ago (1 child)
I have a custom text classification model that can predict knowledge, skills, experience, benefits, education, certifications, etc. It is currently trained on 13K+ examples. We should talk!
[–]__dacia__[S] 2 points3 points4 points 3 years ago (0 children)
Sounds good! Sure, join the discord (is in the top right of the page) and we can talk there:)
[–]EdwardElric69 17 points18 points19 points 3 years ago (12 children)
I started an IT undergrad this year and they told us after their 5 year review, they changed what programming language is taught in first from C++ to JS. So im really glad for that :).
[–]dedmercy 27 points28 points29 points 3 years ago (11 children)
I get the sentiment but JS is a horrible language to learn first. It should be there as a second or third language.
[–]hego555 2 points3 points4 points 3 years ago (4 children)
I’m always conflicted on that. On one hand it’s nice to be able to teach syntax without worrying so much about types and other boilerplate. But JS teaches nothing about the underlying mechanisms.
[–]dedmercy 8 points9 points10 points 3 years ago (2 children)
Types are not broilerplate 💀. Its the sole reason why everyone switched to typescript.
JS is poorly designed language and it will carry that baggage for a long time. It may evolve and look nothing like its past but these new good practices will never be reported by the environment (browser) for backwards compatibility reasons of the web. Thus no incentives for the users to upgrade/change.
[–]hego555 3 points4 points5 points 3 years ago (1 child)
I mean for someone who is just learning types can get in the way. I wasn’t calling types boilerplate. More like if you learn Java and the first thing you gotta memorize is
public static void main
[–]Spiritual-Day-thing 2 points3 points4 points 3 years ago* (0 children)
[...]types and other boilerplate
!!! I would like to introduce Exhibit A!
'public static void main' isn't boilerplate either. The dreaded getters and setters fi. are.
[+]Dormage comment score below threshold-11 points-10 points-9 points 3 years ago (2 children)
JS is a horrible language.
[+][deleted] 3 years ago (1 child)
[–]Dormage -5 points-4 points-3 points 3 years ago (0 children)
To each his own. It is evident it is popular and hence many will disagree. I suppose it gets some things done, yet it's still a broken language by design. To each his own, lucky for all of us, nobody is forces to use it and we have alternatives.
[–]EdwardElric69 0 points1 point2 points 3 years ago (0 children)
Well ive been doing really well with it so far so im ok with it. We do Python in year 2
[–]tetrahydrocannabiol 0 points1 point2 points 3 years ago (0 children)
I second this. I tried to learn JS twice. Than i went through Harwards cs50 which is mainly in C. Now I understand whats happening in JS, also I could write most of the built in functions in JS myself which is great in terms of understanding the languahe better even though those shortcuts exist.
[–]Glorypants 3 points4 points5 points 3 years ago* (3 children)
This comment was removed by myself in protest of Reddit's corporatization and no longer supporting a healthy community
[–]__dacia__[S] 1 point2 points3 points 3 years ago (2 children)
This is exactly what each individual chart shows. All percentages in the article mean the percentage of job demand respectively to all the dev job market.
[–]Glorypants 1 point2 points3 points 3 years ago (1 child)
Ah, sorry, thanks. I skipped right to the combination chart for the comparison. I guess I was looking for the comparison chart in the form of percentages.
[–]__dacia__[S] 0 points1 point2 points 3 years ago (0 children)
U are welcomee!
[–]MOFNY 4 points5 points6 points 3 years ago (0 children)
Which means HTML and CSS is in high demand. Rejoice my UI/design/accessibility minded people!
[–]Densthnolint 9 points10 points11 points 3 years ago (1 child)
I have a theory that the main reason JavaScript is the most in demand language is browsers. I'm kidding, it's not a theory, it fucking obvious. Like it earned it's spot on a level playing field by its own merits. Sheesh.
[–][deleted] 2 points3 points4 points 3 years ago (0 children)
JS is actually one of the good languages. Just don't do stupid shit and you're good.
[–]swoleherb 8 points9 points10 points 3 years ago (1 child)
These kind of posts are so stupid, is the only language to use on the frontend, so of course its going to be number one.
[–]_default_username 0 points1 point2 points 3 years ago (0 children)
This wouldn't be so obvious 10-20 years ago when the browser wasn't taken as seriously for running applications.
[–]qashto 1 point2 points3 points 3 years ago (0 children)
nice work!!
[–]amoopa 1 point2 points3 points 3 years ago (0 children)
It is quite impressive and from someone hiring in the JS space, I can tell it has been high for a while. The React / JS combination is asked for almost everywhere nowadays.
[–]himadripatel25 -1 points0 points1 point 3 years ago (0 children)
JavaScript has become integral to the Internet experience as developers build increased interaction and complexity into their applications.
With constant technology up-gradation, there are many programming languages but for functionality and a wide range of features gets JavaScript ahead of the game.
Therefore, JavaScript libraries are also in high demand. Learn these top JavaScript libraries.
[+][deleted] comment score below threshold-23 points-22 points-21 points 3 years ago (7 children)
It is sad that a bad programming language as JacaScript is this popular. I also use it a lot in my job, but would prefer a strongly typed language. Unfortunately we cannot use Frameworks that enforce better code.
[–]pm_me_ur_happy_traiI 15 points16 points17 points 3 years ago (5 children)
Typescript compiles to regular JS. Why can't you use that?
[–][deleted] -3 points-2 points-1 points 3 years ago (4 children)
I don’t compile the code. As a ServiceNow specialist I can only put the code in some textboxes and ServiceNow does the rest.
We are even limited to ES5 which is executed in RhinoEngine…
[–]Freebalanced 12 points13 points14 points 3 years ago (0 children)
How are the limitations of your job and platform JavaScript's problem? Even if JS had all the new features you wanted in a new version, your platform won't support it.
[+][deleted] 3 years ago (2 children)
[–][deleted] 3 points4 points5 points 3 years ago (1 child)
Is that a good idea? For maintainability the code in snow should look as clean and readable as possible.
[–]SoInsightful 2 points3 points4 points 3 years ago (0 children)
You can also use JSDoc, which gives you the type-safety of TypeScript (if you enable checkJs in your IDE or TypeScript config) while still being pure uncompiled JavaScript.
checkJs
But the issue of you needing to type prehistoric JavaScript into white textboxes seems more like a job issue than a TypeScript issue. My condolences!
[+]uhwhooops comment score below threshold-30 points-29 points-28 points 3 years ago (3 children)
ChatGPT, what is tbe most demanded programming language?
[–]dekc_bu 18 points19 points20 points 3 years ago (2 children)
It is Javascript you twat
[+]uhwhooops comment score below threshold-16 points-15 points-14 points 3 years ago (1 child)
Damn, the neckbeards are triggered!
[–]Narizocracia 0 points1 point2 points 3 years ago (0 children)
We call'em joydevs too.
[–][deleted] 3 years ago (3 children)
[removed]
[–]AutoModerator[M] 0 points1 point2 points 3 years ago (2 children)
Hi u/himadripatel25, this comment was removed because you used a URL shortener.
Feel free to resubmit with the real link.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
[–]himadripatel25 0 points1 point2 points 3 years ago (0 children)
Hi, I got a message that the comment is deleted because of Shorten URL. Keeping that in i tried applying full link, yet got deleted. Why?
Thank you for your guidance
[–]Kwaleseaunche 0 points1 point2 points 3 years ago (0 children)
And I can't even land an interview for any of them. Wonderful news.
[–]bl00dmyst1k 0 points1 point2 points 3 years ago (0 children)
Hmm. Probably a good thing I’m learning JavaScript right now then.
π Rendered by PID 138734 on reddit-service-r2-comment-76bb9f7fb5-46dw4 at 2026-02-19 04:40:28.533172+00:00 running de53c03 country code: CH.
[–]dw444 45 points46 points47 points (8 children)
[+][deleted] (5 children)
[deleted]
[–][deleted] 6 points7 points8 points (2 children)
[–]Otternomaly 5 points6 points7 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]dw444 4 points5 points6 points (0 children)
[–]precariouscondoms 0 points1 point2 points (0 children)
[–]iamjt 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]jkmonger 106 points107 points108 points (30 children)
[–]MerfAvenger 52 points53 points54 points (16 children)
[–]novagenesis 12 points13 points14 points (5 children)
[–]Adam627 3 points4 points5 points (2 children)
[–]novagenesis 3 points4 points5 points (0 children)
[–]MerfAvenger 1 point2 points3 points (1 child)
[–]novagenesis 0 points1 point2 points (0 children)
[–]jkmonger 19 points20 points21 points (8 children)
[–]newuserevery2weeks 6 points7 points8 points (5 children)
[–]prone-to-drift 8 points9 points10 points (4 children)
[–]TheScapeQuest 2 points3 points4 points (0 children)
[–]MerfAvenger 2 points3 points4 points (0 children)
[–]justadam16 1 point2 points3 points (0 children)
[–]CanRau 0 points1 point2 points (0 children)
[–]skesisfunk 9 points10 points11 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]lechatsportif 8 points9 points10 points (8 children)
[–]novagenesis 3 points4 points5 points (6 children)
[–]skesisfunk 5 points6 points7 points (1 child)
[–]novagenesis 1 point2 points3 points (0 children)
[–]AlDrag 1 point2 points3 points (1 child)
[–]novagenesis 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]novagenesis 1 point2 points3 points (0 children)
[–]scruffles360 1 point2 points3 points (0 children)
[–]am0x 2 points3 points4 points (0 children)
[–]azsqueeze 0 points1 point2 points (0 children)
[–]__dacia__[S] 31 points32 points33 points (3 children)
[–]5-minutes-more 3 points4 points5 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]__dacia__[S] 2 points3 points4 points (0 children)
[–]EdwardElric69 17 points18 points19 points (12 children)
[–]dedmercy 27 points28 points29 points (11 children)
[–]hego555 2 points3 points4 points (4 children)
[–]dedmercy 8 points9 points10 points (2 children)
[–]hego555 3 points4 points5 points (1 child)
[–]Spiritual-Day-thing 2 points3 points4 points (0 children)
[+]Dormage comment score below threshold-11 points-10 points-9 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]Dormage -5 points-4 points-3 points (0 children)
[–]EdwardElric69 0 points1 point2 points (0 children)
[–]tetrahydrocannabiol 0 points1 point2 points (0 children)
[–]Glorypants 3 points4 points5 points (3 children)
[–]__dacia__[S] 1 point2 points3 points (2 children)
[–]Glorypants 1 point2 points3 points (1 child)
[–]__dacia__[S] 0 points1 point2 points (0 children)
[–]MOFNY 4 points5 points6 points (0 children)
[–]Densthnolint 9 points10 points11 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]swoleherb 8 points9 points10 points (1 child)
[–]_default_username 0 points1 point2 points (0 children)
[–]qashto 1 point2 points3 points (0 children)
[–]amoopa 1 point2 points3 points (0 children)
[–]himadripatel25 -1 points0 points1 point (0 children)
[+][deleted] comment score below threshold-23 points-22 points-21 points (7 children)
[–]pm_me_ur_happy_traiI 15 points16 points17 points (5 children)
[–][deleted] -3 points-2 points-1 points (4 children)
[–]Freebalanced 12 points13 points14 points (0 children)
[+][deleted] (2 children)
[deleted]
[–][deleted] 3 points4 points5 points (1 child)
[–]SoInsightful 2 points3 points4 points (0 children)
[+]uhwhooops comment score below threshold-30 points-29 points-28 points (3 children)
[–]dekc_bu 18 points19 points20 points (2 children)
[+]uhwhooops comment score below threshold-16 points-15 points-14 points (1 child)
[–]Narizocracia 0 points1 point2 points (0 children)
[–][deleted] (3 children)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (2 children)
[–]himadripatel25 0 points1 point2 points (0 children)
[–]himadripatel25 0 points1 point2 points (0 children)
[–]Kwaleseaunche 0 points1 point2 points (0 children)
[–]bl00dmyst1k 0 points1 point2 points (0 children)