René's URL Explorer Experiment


Title: Replace Xtend with Java · Issue #101 · utPLSQL/utPLSQL-SQLDeveloper · GitHub

Open Graph Title: Replace Xtend with Java · Issue #101 · utPLSQL/utPLSQL-SQLDeveloper

X Title: Replace Xtend with Java · Issue #101 · utPLSQL/utPLSQL-SQLDeveloper

Description: In the Xtext release notes of version 2.20.0 you find the following about "Xtend" A word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java Release cadence has speeded up and many of Xtends...

Open Graph Description: In the Xtext release notes of version 2.20.0 you find the following about "Xtend" A word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java Release c...

X Description: In the Xtext release notes of version 2.20.0 you find the following about "Xtend" A word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java...

Opengraph URL: https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Replace Xtend with Java","articleBody":"In the [Xtext release notes](https://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2019/12/03/version-2-20-0) of version 2.20.0 you find the following about \"Xtend\"\r\n\r\n\u003eA word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java Release cadence has speeded up and many of Xtends features can be achieved with pure Java, too. There is still some areas where Xtend is particularly advanced like Code generation, Unit tests and lambda heavy APIs like JvmModelInferrer and Formatter. For other tasks there is no need to use Xtend. Also the resources we have no longer allow us to keep the head start against Java. And learning Xtend still is a burden for new Xtext users. To reflect this changed situation we have decided to make Java the default in the wizard again (except e.g. the Generator and a few other APIs). You can still decide if you want Java or Xtend in the workflow.\r\n\r\nIMO Xtend is really superior in the area of string templating. It's used to build SQL statements in this project. However, this is not a code generation project. Therefore we can live with inferior Java features in this area. Java 13/14/15 text blocks would address some issues, but not all. Anyway, In this project we have to stick to the Java version used by SQL Developer. The current version of SQL Developer 19.4.0 supports JDK8 or JDK11. The user chooses the exact version. Hence we have to stick with JDK8 for the moment.\r\n\r\nMoving from Xtend to Java will have the the following positive impact:\r\n- reduced compile time\r\n- IDE independence (Xtend works quite good in Eclipse but the IntelliJ support has been dropped)\r\n- better debugging experience (no bridge between Xtend and Java representation)\r\n- more inclusive / simplified contribution (because Java is much more popular than Xtend)\r\n- reduced size of final artefact (no Xtend runtime libraries required).\r\n\r\nBut there is also a negative impact:\r\n- more verbose code due to missing, equivalent feature in Java (see also [Xtend features](https://www.eclipse.org/xtend/documentation/)) \r\n  - Extension methods (used)\r\n  - Lambda expressions (used, but there are acceptable options in Java8)\r\n  - Active annotations (used)\r\n  - Operator overloading (used)\r\n  - Switch expressions (used)\r\n  - Polymorphic method invocation (used)\r\n  - Template expressions (used)\r\n  - Properties (used)\r\n  - Type inference (used)\r\n\r\nXtend generated Java5 code. However, this code is not meant to be maintained manually. It looks ugly and since it was originally based on Java5, it does not use Java8 features where possible (e.g. for lambda expression). Hence the migration from Xtend to Java is a semi-automated process, where the generated code might be used as a starting point only, but must not be used 1:1.\r\n\r\nA migration is possible class by class. However, I suggest to do it for the whole project including tests.\r\n\r\n","author":{"url":"https://github.com/PhilippSalvisberg","@type":"Person","name":"PhilippSalvisberg"},"datePublished":"2020-05-22T07:47:44.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/101/utPLSQL-SQLDeveloper/issues/101"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:08f90ea4-434b-a8f0-0b7b-c2196c83bb15
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id8790:102115:2555B18:347D101:696916B0
html-safe-nonce93d24c65eed2bf112b3b8baeef1dc9f0426159933d9742f324d53277f75bbab3
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NzkwOjEwMjExNToyNTU1QjE4OjM0N0QxMDE6Njk2OTE2QjAiLCJ2aXNpdG9yX2lkIjoiNzQ4NjM3NDY1MDA3ODM2OTQ1NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac808928c1bcf22d58ff96322205c82931e619f04b52ae59d4a979e0ee1091d0a5
hovercard-subject-tagissue:623023370
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/utPLSQL/utPLSQL-SQLDeveloper/101/issue_layout
twitter:imagehttps://opengraph.githubassets.com/b7d47cc054eaa3ec3959f3162f0c99da96de7157d4dbd4f87f9a3d4ff71ed282/utPLSQL/utPLSQL-SQLDeveloper/issues/101
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b7d47cc054eaa3ec3959f3162f0c99da96de7157d4dbd4f87f9a3d4ff71ed282/utPLSQL/utPLSQL-SQLDeveloper/issues/101
og:image:altIn the Xtext release notes of version 2.20.0 you find the following about "Xtend" A word on Xtend. Back in 2013 Xtend was the “Java 10 of today” even before Java 8 was out. Meanwhile Java Release c...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamePhilippSalvisberg
hostnamegithub.com
expected-hostnamegithub.com
Noneafd5814870f8609d217a32dd3bccc05a5df5f5699df4d458c242e80fdfddcc2e
turbo-cache-controlno-preview
go-importgithub.com/utPLSQL/utPLSQL-SQLDeveloper git https://github.com/utPLSQL/utPLSQL-SQLDeveloper.git
octolytics-dimension-user_id15661281
octolytics-dimension-user_loginutPLSQL
octolytics-dimension-repository_id111097428
octolytics-dimension-repository_nwoutPLSQL/utPLSQL-SQLDeveloper
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id111097428
octolytics-dimension-repository_network_root_nwoutPLSQL/utPLSQL-SQLDeveloper
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release572e69339f2401a569f15071214cbbee314ea8bb
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FutPLSQL%2FutPLSQL-SQLDeveloper%2Fissues%2F101
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FutPLSQL%2FutPLSQL-SQLDeveloper%2Fissues%2F101
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=utPLSQL%2FutPLSQL-SQLDeveloper
Reloadhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
Reloadhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
Reloadhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
utPLSQL https://github.com/utPLSQL
utPLSQL-SQLDeveloperhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper
Notifications https://github.com/login?return_to=%2FutPLSQL%2FutPLSQL-SQLDeveloper
Fork 17 https://github.com/login?return_to=%2FutPLSQL%2FutPLSQL-SQLDeveloper
Star 66 https://github.com/login?return_to=%2FutPLSQL%2FutPLSQL-SQLDeveloper
Code https://github.com/utPLSQL/utPLSQL-SQLDeveloper
Issues 2 https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues
Pull requests 1 https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pulls
Actions https://github.com/utPLSQL/utPLSQL-SQLDeveloper/actions
Projects 0 https://github.com/utPLSQL/utPLSQL-SQLDeveloper/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/utPLSQL/utPLSQL-SQLDeveloper/security
Please reload this pagehttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
Insights https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pulse
Code https://github.com/utPLSQL/utPLSQL-SQLDeveloper
Issues https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues
Pull requests https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pulls
Actions https://github.com/utPLSQL/utPLSQL-SQLDeveloper/actions
Projects https://github.com/utPLSQL/utPLSQL-SQLDeveloper/projects
Security https://github.com/utPLSQL/utPLSQL-SQLDeveloper/security
Insights https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pulse
New issuehttps://github.com/login?return_to=https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
New issuehttps://github.com/login?return_to=https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101
#104https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pull/104
Replace Xtend with Javahttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101#top
#104https://github.com/utPLSQL/utPLSQL-SQLDeveloper/pull/104
https://github.com/PhilippSalvisberg
enhancementhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues?q=state%3Aopen%20label%3A%22enhancement%22
v1.2.0https://github.com/utPLSQL/utPLSQL-SQLDeveloper/milestone/15
https://github.com/PhilippSalvisberg
https://github.com/PhilippSalvisberg
PhilippSalvisberghttps://github.com/PhilippSalvisberg
on May 22, 2020https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues/101#issue-623023370
Xtext release noteshttps://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2019/12/03/version-2-20-0
Xtend featureshttps://www.eclipse.org/xtend/documentation/
PhilippSalvisberghttps://github.com/PhilippSalvisberg
enhancementhttps://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues?q=state%3Aopen%20label%3A%22enhancement%22
v1.2.0https://github.com/utPLSQL/utPLSQL-SQLDeveloper/milestone/15
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.