tag:blogger.com,1999:blog-741750605858169835.comments2024-01-24T14:53:02.919+00:00Stephen Colebourne's blogStephen Colebournehttp://www.blogger.com/profile/01454237967846880639noreply@blogger.comBlogger3164125tag:blogger.com,1999:blog-741750605858169835.post-8348043535331947922022-11-17T01:38:56.218+00:002022-11-17T01:38:56.218+00:002022 and Java 19 - and not any better yet, it'...2022 and Java 19 - and not any better yet, it's a shame ... :(Lindahttps://www.blogger.com/profile/11878065306426557348noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-16288957940561521932022-05-14T04:18:17.188+01:002022-05-14T04:18:17.188+01:00This comment has been removed by a blog administrator.sowmyahttps://www.blogger.com/profile/16177080032469842507noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-60087961293933602262022-05-13T10:01:52.663+01:002022-05-13T10:01:52.663+01:00This comment has been removed by a blog administrator.Swarnalathahttps://www.blogger.com/profile/09817490506974256731noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-9437766979779199752022-05-13T10:01:40.826+01:002022-05-13T10:01:40.826+01:00This comment has been removed by a blog administrator.Swarnalathahttps://www.blogger.com/profile/09817490506974256731noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-16015477361485356502022-05-12T06:22:52.874+01:002022-05-12T06:22:52.874+01:00This comment has been removed by a blog administrator.Lapiz Digital Serviceshttps://www.blogger.com/profile/07914486181754628736noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-13588032477123396032022-05-12T06:01:12.781+01:002022-05-12T06:01:12.781+01:00This comment has been removed by a blog administrator.Swarnalathahttps://www.blogger.com/profile/09817490506974256731noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-34737455024385108202022-04-08T14:09:29.289+01:002022-04-08T14:09:29.289+01:00This comment has been removed by a blog administrator.programmingonlinehelphttps://www.blogger.com/profile/18097623404391827951noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-35448538431579606432022-04-01T12:16:35.956+01:002022-04-01T12:16:35.956+01:00This comment has been removed by a blog administrator.raj bhaihttps://www.blogger.com/profile/16369700897620797559noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-76209474051106384772021-09-08T15:57:46.652+01:002021-09-08T15:57:46.652+01:00Tidelift has been a consistent useful additional i...Tidelift has been a consistent useful additional income - $224 per month (that is pubilc info on their website). It has also been an incentive to continue to maintain these projects (eg. adding PRs to handle time-zone updates). I'm listed with GitHub sponsors but it hasn't brought any significant income. I would still recommend Tidelift to maintainers, especially those looking to maintain stable but essential libraries, just like Joda-Time.Stephen Colebournehttps://www.blogger.com/profile/01454237967846880639noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-7262199471754570232021-09-07T08:49:43.755+01:002021-09-07T08:49:43.755+01:002 years later, I wonder how this worked out for yo...2 years later, I wonder how this worked out for you. Do you still think this kind of approach can support open-source maintainers? Also, if you don't mind, I'd be glad to hear your opinion about GitHub Sponsors program.Vasiliyhttps://www.blogger.com/profile/03204551102362119064noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-76794490327862314572021-02-16T18:48:00.677+00:002021-02-16T18:48:00.677+00:00@carlo There is a huge difference between your two...@carlo There is a huge difference between your two examples. In the first example I am passed an Optional so I explicitly know it could be empty. In the second example I am passed a String and I have no idea if it is nullable or not.Sarah Ichinumihttps://www.blogger.com/profile/02470829421295617931noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-4978256027465285372021-01-15T16:54:36.742+00:002021-01-15T16:54:36.742+00:00We're researching a massive conversion of Java...We're researching a massive conversion of Java 8 systems to 11. This has been very helpful and a guide to other sources. At least planned greenfields won't be so much a problem - just learning Java 11 as a new source toolbox.<br /><br />Thanks.Blue Sunhttps://www.blogger.com/profile/02050030909902739850noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-39053226055588460582020-10-26T22:48:59.090+00:002020-10-26T22:48:59.090+00:00Someone asked on StackOverflow why native properti...Someone asked on StackOverflow why native properties in Java weren't added to Java 7 ( https://stackoverflow.com/questions/710266/why-will-there-be-no-native-properties-in-java-7 ). erickson stated that adding them to Java would be difficult, and refered to this hard to read thread for details: https://puredanger.github.io/tech.puredanger.com/java7#property . Can someone simply explain why implementing native properties in Java would be difficult?Anonymoushttps://www.blogger.com/profile/09061262439058573045noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-63031597975625192852020-10-11T00:52:19.790+01:002020-10-11T00:52:19.790+01:00While I agree with you in many ways Stephen,
I sti...While I agree with you in many ways Stephen,<br />I still think that the arrow syntax is quite<br />elegant; less verbose than the older variant.<br /><br />For example:<br /><br /> int k = 3; /* Your test variable here */<br /><br /> String x = switch (k) {<br /> case 1 -> "one";<br /> case 2 -> "two";<br /> case 3, 4 -> "three or four";<br /> default -> "many";<br /> };<br /><br />To me this is quite pleasant. Considering that<br />Java is already really verbose, and ruby and<br />python so much cleaner and shorter usually <br />(in particular well-written ruby code, IMO),<br />I for one welcome most syntax-changes in Java<br />that make it simpler. Perhaps there is more<br />complexity, yes, but the arrow style I actually<br />quite like - more than the various "break"<br />statements.shevyhttps://www.blogger.com/profile/09636171104216432368noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-5006478245882278242020-10-08T07:00:22.552+01:002020-10-08T07:00:22.552+01:00look what postgresql has for that: https://www.p...look what postgresql has for that: https://www.postgresql.org/docs/8.1/sql-syntax.html section 4.1.2.5. Constants of Other Types<br /> 'string'::type<br /> <br />your syntax could be similar to that:<br /><br /> var date = `2018-May-22`::Date("YYYY-mm-DD");<br /><br />where Date is a resulting type of literal `2018-May-22`, "YYYY-mm-DD" is a parsing format.<br />effectively this syntax is constructor invocation, though could be checked at compile time.<br /><br />more complex expressions could be written similar to that<br /><br /> var foo = `1,2,3,4`::vector * 2 + `2,3,4,5`::vector * 5;<br /><br />that is an expression which could be evaluated at compile time,<br />where <br /> vector <br />is user defined type, which has a constructor accepting literal, for parsing<br />though parsing is done at compile time,<br /><br />all that could be possible if user defined literal is defined in the language syntax, which could be accompanied with type, <br />and parsing rules are specified for that type -- like constructor for vector accepting user defined literal. one caveat though, implementation of vector accepting that literal should be available at compile time, and compiled results should be bound to that implementation at compile time. substitution of vector implementation for execution may break parsing contract.<br />shoot me an email if you think it is acceptable --> dmitriy_pichugin@yahoo.com<br /><br />DPhttps://www.blogger.com/profile/10691864989067035697noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-14443269148495201222020-09-23T10:51:46.856+01:002020-09-23T10:51:46.856+01:00We don't gain anything if we define Optional a...We don't gain anything if we define Optional as an attribute. in the end, you always need to check if it is present or not:<br />public String getGreeting(Optional param) {<br /> if (param == null || !param.isPresent()) {<br /> return "Hello World";<br /> } else {<br /> return "Hello " + param;<br /> }<br />}<br /><br />public String getGreeting(String param) {<br /> if (param == null) {<br /> return "Hello World";<br /> } else {<br /> return "Hello " + param;<br /> }<br />}<br />carlohttps://www.blogger.com/profile/10407917112484109180noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-68585771426400673922020-07-07T15:47:25.641+01:002020-07-07T15:47:25.641+01:00I know that this is a very old blog entry and thin...I know that this is a very old blog entry and things have moved on regarding the Units of Measurement community, but I wanted to share my work on an alternative:<br /><br />https://github.com/netomi/uom<br /><br />It follows the terminology of the JSR, but implements it in a type-safe way. I would be happy to receive your feedback, Steven, as I am a big admirerer of the joda libraries and tried to design my own take on an uom library as close as possible.Tomhttps://www.blogger.com/profile/13331912047862937303noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-73063330873137710732020-06-13T19:08:57.162+01:002020-06-13T19:08:57.162+01:00https://wiki.openjdk.java.net/display/HotSpothttps://wiki.openjdk.java.net/display/HotSpotWill Sargenthttps://www.blogger.com/profile/16659096797930344168noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-40209826963634254632020-05-26T07:58:17.744+01:002020-05-26T07:58:17.744+01:00There are a few typos where Greenwich is spelt Gre...There are a few typos where Greenwich is spelt Greewich. Can you correct these please?Andrew Marlowhttps://www.blogger.com/profile/05271063570015127053noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-62060145558782937362020-03-21T15:57:55.453+00:002020-03-21T15:57:55.453+00:00I think the best option is to stick with the lates...I think the best option is to stick with the latest AdoptOpenJDK and for those intermediate releases with a feature rich changeset where quick adoption matters switch to oracle's OpenJdk and wait fo the next AdoptOpenJDK LTS.Tungstenhttps://www.blogger.com/profile/14697995987435801487noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-75359999304820797342020-01-16T12:08:17.378+00:002020-01-16T12:08:17.378+00:00How can we migrate from Oracle's JDK to Oracle...How can we migrate from Oracle's JDK to Oracle's OpenJDK? please tell me what will be process ?Vaibhav Shrivastavhttps://www.blogger.com/profile/15121765463353567594noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-42782219112272956932019-12-17T15:31:56.688+00:002019-12-17T15:31:56.688+00:00Not in the UK:
https://mocktheorytest.com/resourc...Not in the UK: <br />https://mocktheorytest.com/resources/traffic-lights-uk/<br />Stephen Colebournehttps://www.blogger.com/profile/01454237967846880639noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-9521741298398496852019-12-17T14:55:22.378+00:002019-12-17T14:55:22.378+00:00You don't seem to understand how driving works...You don't seem to understand how driving works. The lights don't go Yellow to Green, they go Yellow to Red. Makes me think you're not the best person to listen to on anything. Dan Howardhttps://www.blogger.com/profile/11454093132962945782noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-83925594579067006282019-12-04T12:35:50.424+00:002019-12-04T12:35:50.424+00:00About the fall-through: https://stackoverflow.com/...About the fall-through: https://stackoverflow.com/questions/30832215/when-statement-vs-java-switch-statementGerardhttps://www.blogger.com/profile/07422557889271774155noreply@blogger.comtag:blogger.com,1999:blog-741750605858169835.post-85792089582174370682019-11-14T17:25:55.490+00:002019-11-14T17:25:55.490+00:00Do you want to force exhaustiveness or using a def...Do you want to force exhaustiveness or using a default clause. The former would be fine (and is practically the current state as AFAIK every IDE produces a warning). <br /><br />Forcing the default clause would be IMHO wrong. I deliberately leave it out whenever possible, as this gives me a warning when the enum gets a new member.<br /><br />I guess, I like your proposal, but it might be hard to introduce a new keyword. What about reusing "case" like<br /><br />case (instruction) {<br /> "Stop": doStop();<br /> "Go": doGo();<br /> default: ;<br /> }<br /><br />I guess, there's no need for keeping the "case-colon" part of the old syntax.<br />maaartinushttps://www.blogger.com/profile/00411808646708588421noreply@blogger.com