Dart and Java are both popular programming languages used for building web and mobile applications. Let's explore the key differences between them.\n\n
\n
Syntax and Language Structure: Dart uses a more modern and concise syntax compared to Java. It has a cleaner and more intuitive syntax, with features such as optional typing and a simplified class hierarchy. Java, on the other hand, has a more verbose and rigid syntax with a stronger emphasis on object-oriented programming.\n
Platform Independence: Dart is designed to be a platform-independent language, meaning that it can be used to build applications that run on multiple platforms without major modifications. Java, on the other hand, is known for its \"write once, run anywhere\" principle, allowing developers to write code that can run on any platform that supports Java Virtual Machine (JVM).\n
Performance: Java is known for its strong performance, thanks to its Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilation capabilities. This allows Java applications to be highly optimized and performant. Dart, on the other hand, is compiled to native code using a virtual machine, which can impact its performance compared to Java.\n
Ecosystem and Libraries: Java has a mature and extensive ecosystem with a wide range of libraries and frameworks available for developers. It has been around for a long time and has a strong community and support. Dart, on the other hand, has a smaller ecosystem and fewer libraries available, making it slightly less versatile and potentially requiring more custom development.\n
Concurrency and Multithreading: Java has built-in support for multithreading and concurrency, making it easier to handle parallel processing and improve application performance. Dart, on the other hand, currently does not have built-in support for multithreading, although there are experimental libraries available.\n
Tooling and IDE Support: Java has a wide range of Integrated Development Environments (IDEs) and tooling available, including popular options like Eclipse and IntelliJ IDEA. Dart, while also having IDE support, may have a slightly more limited range of tooling options and IDE integrations compared to Java.\n\n\n
In summary, Dart, developed by Google, is known for its simplicity, speed, and suitability for building cross-platform mobile, web, and server-side applications. Java, a versatile and mature language, is widely adopted for enterprise applications, Android development, and backend services, offering strong support for object-oriented programming, robust libraries, and platform independence.\n","content2":"","topContent":"","bottomContent":"","packageStackup":false,"screenshotImageUrl":"https://img.stackshare.io/stackup/226150/dart-vs-java.png","function":"Languages","path":"/stackups/dart-vs-java","title":"Dart vs Java","seoUpdatedAt":null,"cachedStackDecisionsGetAdvice":{"type":"json","json":{"count":16,"edges":[{"node":{"id":"108719422459620251","user":{"id":"108719301728661274","title":"","imageUrl":"https://img.stackshare.io/user/1315994/default_98e3b3e191ad9e07dd74ad56138d51194e21a8c7.jpeg","thumbUrl":"https://img.stackshare.io/user/1315994/thumb_98e3b3e191ad9e07dd74ad56138d51194e21a8c7.jpeg","username":"nikhilesh1234","__typename":"User","companyName":"Accenture","displayName":"Nikhilesh Swaminathan"},"stack":null,"topics":[],"answers":{"count":1,"edges":[{"node":{"id":"108759925688424228","link":null,"user":{"id":"108759888591246183","path":"/matheus-leao","title":null,"imageUrl":"https://img.stackshare.io/user/1321226/default_e86558be2cb4544d0d2f4a0c79c792cb00a558c9.png","username":"matheus-leao","__typename":"User","companyName":null,"displayName":"matheus-leao"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108759925688424228","services":[{"id":"101231778053837910","fans":2795,"name":"Cypress","path":"/cypress","slug":"cypress","title":"When testing is easy, developers build better things faster and with confidence.","votes":115,"stacks":2408,"imageUrl":"https://img.stackshare.io/service/9231/default_66c5c1a197dcd0232e41e4ab6299d119b4e165b3.png","verified":true,"following":false,"__typename":"Tool","canonicalUrl":"/cypress","followContext":null},{"id":"101231775365640915","fans":612,"name":"Robot Framework","path":"/robot-frame-work","slug":"robot-frame-work","title":"A test automation framework for acceptance testing and ATDD","votes":120,"stacks":304,"imageUrl":"https://img.stackshare.io/service/4092/QdWJdB_g_400x400.jpg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/robot-frame-work","followContext":null}],"createdAt":"2022-08-03T16:39:24Z","fromTools":[],"viewCount":98171,"__typename":"StackDecision","bookmarked":false,"rawContent":"If you want to create using Python language, @{Robot Framework}|tool:4092| is one very helpful tool to improve your test scripting and we have a lot of methods created by the community. \nIf you want to use Javascript, @{Cypress}|tool:9231| in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.","htmlContent":"
If you want to create using Python language, Robot Framework is one very helpful tool to improve your test scripting and we have a lot of methods created by the community. \nIf you want to use Javascript, Cypress in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-08-03T16:39:24Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[{"id":"101231778053837910","fans":2795,"name":"Cypress","path":"/cypress","slug":"cypress","title":"When testing is easy, developers build better things faster and with confidence.","votes":115,"stacks":2408,"imageUrl":"https://img.stackshare.io/service/9231/default_66c5c1a197dcd0232e41e4ab6299d119b4e165b3.png","verified":true,"following":false,"__typename":"Tool","canonicalUrl":"/cypress","followContext":null},{"id":"101231773939333405","fans":313789,"name":"JavaScript","path":"/javascript","slug":"javascript","title":"Lightweight, interpreted, object-oriented language with first-class functions","votes":8072,"stacks":362027,"imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/javascript","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null},{"id":"101231775365640915","fans":612,"name":"Robot Framework","path":"/robot-frame-work","slug":"robot-frame-work","title":"A test automation framework for acceptance testing and ATDD","votes":120,"stacks":304,"imageUrl":"https://img.stackshare.io/service/4092/QdWJdB_g_400x400.jpg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/robot-frame-work","followContext":null}],"upvotesCount":4,"commentsCount":0},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"MQ","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"108719422459620251","services":[],"fromTools":[],"viewCount":100311,"__typename":"StackDecision","htmlContent":"Please Help in creating a test framework\n\n
Hello Devs,\n\n
I am planning to implement a ETL test system for checking data quality and business use cases. I am confused on what stack to use. Any advice on the below will be very helpful.\n\n\n
Any existing frameworks and its source code for help\n
Any other stack apart from the mentioned stack (that might be suitable)\n
Any ideas for features are welcomed.\n
The usage of multiple BE stacks.\n","publishedAt":"2022-07-27T12:58:54Z","decisionType":"getAdvice","subjectTools":[{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null},{"id":"101231773939333405","fans":313789,"name":"JavaScript","path":"/javascript","slug":"javascript","title":"Lightweight, interpreted, object-oriented language with first-class functions","votes":8072,"stacks":362027,"imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/javascript","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":6},"__typename":"StackDecisionEdge"},{"node":{"id":"108262394609581455","user":{"id":"107758647868655764","title":null,"imageUrl":"https://img.stackshare.io/user/1129262/default_f4da55adc9b1b71da495253b0d9b3bd92ba0bf3e.png","thumbUrl":"https://img.stackshare.io/user/1129262/thumb_f4da55adc9b1b71da495253b0d9b3bd92ba0bf3e.png","username":"26vatsapr","__typename":"User","companyName":null,"displayName":"Prakhar Vatsa"},"stack":null,"topics":[],"answers":{"count":1,"edges":[{"node":{"id":"108293850585174459","link":{"url":"https://simplabs.com/blog/2020/06/25/writing-rust-nifs-for-elixir-with-rustler/","title":"Writing Rust NIFs for Elixir With Rustler | Blog | simplabs","imageUrl":"","__typename":"Link"},"user":{"id":"102959532090877691","path":"/menty44","title":"Lead Software Developer","imageUrl":"https://img.stackshare.io/user/313536/default_158d203c16e1311e3fc9175cabe86f1fbcef6f6f.jpeg","username":"menty44","__typename":"User","companyName":"Blaqueyard","displayName":"FREDRICK OLUOCH"},"draft":false,"topics":[],"company":{"id":"108293768760400170","name":"Blaqueyard","path":"/companies/blaqueyard","slug":"blaqueyard","imageUrl":"https://img.stackshare.io/company/173580/default_9c8011c585e913876e4b6c9abfcffe240750c6d8.png","__typename":"Company"},"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108293850585174459","services":[],"createdAt":"2022-05-13T09:10:22Z","fromTools":[],"viewCount":66055,"__typename":"StackDecision","bookmarked":false,"rawContent":"Well for those performant tasks maybe you can use Rust nifs for elixir. Elixir enables to write fault-tolerant, scalable code for concurrent systems, and as such, it is perfect for messaging systems and web applications that might need to handle a lot of users efficiently. But if you need speed you can plug in Rust or write a microservice using Goland/Rust.\n","htmlContent":"
Well for those performant tasks maybe you can use Rust nifs for elixir. Elixir enables to write fault-tolerant, scalable code for concurrent systems, and as such, it is perfect for messaging systems and web applications that might need to handle a lot of users efficiently. But if you need speed you can plug in Rust or write a microservice using Goland/Rust.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-05-13T09:10:22Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[{"id":"101231774237595825","fans":3854,"name":"Elixir","path":"/elixir","slug":"elixir","title":"Dynamic, functional language designed for building scalable and maintainable applications","votes":1325,"stacks":3414,"imageUrl":"https://img.stackshare.io/service/1974/drop.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/elixir","followContext":null},{"id":"101231773869138699","fans":5822,"name":"Rust","path":"/rust","slug":"rust","title":"A safe, concurrent, practical language","votes":1241,"stacks":5851,"imageUrl":"https://img.stackshare.io/service/1070/v7txhrjp9pdqrkdtxxp0.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/rust","followContext":null}],"upvotesCount":4,"commentsCount":0},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"MQ","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"108262394609581455","services":[{"name":"Rust","imageUrl":"https://img.stackshare.io/service/1070/v7txhrjp9pdqrkdtxxp0.png","thumbUrl":"https://img.stackshare.io/service/1070/thumb_v7txhrjp9pdqrkdtxxp0.png","__typename":"Tool"},{"name":"Golang","imageUrl":"https://img.stackshare.io/service/1005/O6AczwfV_400x400.png","thumbUrl":"https://img.stackshare.io/service/1005/thumb_O6AczwfV_400x400.png","__typename":"Tool"},{"name":"Elixir","imageUrl":"https://img.stackshare.io/service/1974/drop.png","thumbUrl":"https://img.stackshare.io/service/1974/thumb_drop.png","__typename":"Tool"}],"fromTools":[],"viewCount":140547,"__typename":"StackDecision","htmlContent":"
I will use Elixir for personal projects. It's productive, reliable, secure, simple, etc. But when performance is critical, I need job opportunities, when I work with mutability, which do I pick? I need advice on which \"bureaucratic, mainstream\" programming language to pick when wanting performance and jobs. Elixir is often \"slow\", and it hasn't boomed yet the way Golang and Rust have, so which? ","publishedAt":"2022-05-07T19:50:42Z","decisionType":"getAdvice","subjectTools":[{"id":"101231773848354670","fans":55619,"name":"AngularJS","path":"/angularjs","slug":"angularjs","title":"Superheroic JavaScript MVW Framework","votes":5283,"stacks":61121,"imageUrl":"https://img.stackshare.io/service/1019/square.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/angularjs","followContext":null},{"id":"101231773860248995","fans":11555,"name":"C++","path":"/cplusplus","slug":"cplusplus","title":"Has imperative, object-oriented and generic programming features, while also providing the facilities for low level memory manipulation","votes":849,"stacks":17309,"imageUrl":"https://img.stackshare.io/service/1049/cplusplus.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/cplusplus","followContext":null},{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null}],"upvotesCount":4},"__typename":"StackDecisionEdge"},{"node":{"id":"108151750644226894","user":{"id":"104410756752906126","title":"Cloud Engineer and Developer","imageUrl":"https://img.stackshare.io/user/643731/default_212b0c8d717cdc5937b9d3a56556ab6d38d0f50a.jpg","thumbUrl":"https://img.stackshare.io/user/643731/thumb_212b0c8d717cdc5937b9d3a56556ab6d38d0f50a.jpg","username":"kksachin-1","__typename":"User","companyName":null,"displayName":"Sachin K"},"stack":null,"topics":[],"answers":{"count":1,"edges":[{"node":{"id":"108242897027837977","link":null,"user":{"id":"106726875001942335","path":"/dweller","title":"Principal Software Engineer","imageUrl":"https://img.stackshare.io/user/1005297/default_50b7f4245db94307fb416076ddc6bee60983ea9f.jpeg","username":"dweller","__typename":"User","companyName":"AtCore Tech","displayName":"Simon Banks"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108242897027837977","services":[],"createdAt":"2022-05-04T09:12:13Z","fromTools":[],"viewCount":103688,"__typename":"StackDecision","bookmarked":false,"rawContent":"I recommend cloud-init for base setup of machines and configuring them.. Its simple (YAML file) and is industry standard. Even works on bare metal as well as cloud.","htmlContent":"
I recommend cloud-init for base setup of machines and configuring them.. Its simple (YAML file) and is industry standard. Even works on bare metal as well as cloud.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-05-04T09:12:13Z","decisionType":"giveAdvice","rootComments":[{"id":"108549199824440303","user":{"id":"108372891635496384","path":"/goncalo-rodrigues","imageUrl":"https://img.stackshare.io/user/1251909/default_1993eb1cf662e934864a7974d202d29813aa9fda.jpeg","__typename":"User","displayName":"Gonçalo Rodrigues"},"content":"Agreed, cloud-init should be what you're looking at because it also makes your infra more portable. Some clouds offer different ways to startup but then it's one more thing making you locked in.\n\nI wrote about some of it here: https://docs.multy.dev/blog/compute-aws-vs-azure-vs-gcp/","flagged":false,"replies":[],"upvoted":false,"parentId":null,"postedAt":"2022-06-27T11:29:03Z","__typename":"Comment","upvotesCount":0}],"subjectTools":[],"upvotesCount":3,"commentsCount":1},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"MQ","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"108151750644226894","services":[],"fromTools":[],"viewCount":107331,"__typename":"StackDecision","htmlContent":"
Hello Folks, my first time here, and for requesting advice. I am trying to create some automation from my cloud stack on AWS to something more cloud native. I have containerised the services, however, I am stuck at DB, my Data warehouse, and messaging. Would love some recommendations on how can I automate this for some future work too. ","publishedAt":"2022-04-18T06:52:29Z","decisionType":"getAdvice","subjectTools":[{"id":"101231773842107538","fans":17052,"name":"Golang","path":"/golang","slug":"golang","title":"An open source programming language that makes it easy to build simple, reliable, and efficient software","votes":3299,"stacks":22481,"imageUrl":"https://img.stackshare.io/service/1005/O6AczwfV_400x400.png","verified":true,"following":false,"__typename":"Tool","canonicalUrl":"/golang","followContext":null},{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":6},"__typename":"StackDecisionEdge"},{"node":{"id":"107967539083368106","user":{"id":"107967083971814819","title":"","imageUrl":"https://img.stackshare.io/user/1154285/default_1e73b03c41bf2f79ec399b2bb0b9f68b6801660d.png","thumbUrl":"https://img.stackshare.io/user/1154285/thumb_1e73b03c41bf2f79ec399b2bb0b9f68b6801660d.png","username":"hirensah","__typename":"User","companyName":"","displayName":"Hiren Sah"},"stack":null,"topics":[],"answers":{"count":3,"edges":[{"node":{"id":"108022825749972581","link":null,"user":{"id":"103764415510365964","path":"/cezarywagner5631","title":"","imageUrl":"https://img.stackshare.io/user/420757/default_904b77bbcc562b0930ed18c074962d4daabc01e5.png","username":"cezarywagner5631","__typename":"User","companyName":"","displayName":"Cezary Wagner"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108022825749972581","services":[],"createdAt":"2022-03-26T12:25:12Z","fromTools":[],"viewCount":70927,"__typename":"StackDecision","bookmarked":false,"rawContent":"Hard to answer it depend on market. Python + Flask + Jinja2 is better that SpringBoot. Java can be paid better now but I think that future is Python.\nI code very good in PHP, Java, Python - prefer Python for less code and more effects. PHP is little ugly and limited to web.","htmlContent":"
Hard to answer it depend on market. Python + Flask + Jinja2 is better that SpringBoot. Java can be paid better now but I think that future is Python.\nI code very good in PHP, Java, Python - prefer Python for less code and more effects. PHP is little ugly and limited to web.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-03-26T12:25:12Z","decisionType":"giveAdvice","rootComments":[{"id":"108029848741233939","user":{"id":"107967083971814819","path":"/hirensah","imageUrl":"https://img.stackshare.io/user/1154285/default_1e73b03c41bf2f79ec399b2bb0b9f68b6801660d.png","__typename":"User","displayName":"Hiren Sah"},"content":"Thanks @Cezary for your useful reply.","flagged":false,"replies":[],"upvoted":false,"parentId":null,"postedAt":"2022-03-27T18:11:14Z","__typename":"Comment","upvotesCount":0}],"subjectTools":[{"id":"101231773840406851","fans":19641,"name":"Flask","path":"/flask","slug":"flask","title":"A microframework for Python based on Werkzeug, Jinja 2 and good intentions","votes":66,"stacks":19071,"imageUrl":"https://img.stackshare.io/service/1001/default_6d109315b60108628b7cd3e159b84645c31ef0e2.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/flask","followContext":null},{"id":"104706493746643558","fans":186,"name":"Jinja2","path":"/pypi-jinja2","slug":"pypi-jinja2","title":"A very fast and expressive template engine","votes":0,"stacks":435,"imageUrl":"https://img.stackshare.io/package/19836/default_85689b353a3a9409328e253ea28d859d29151e0c.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/pypi-jinja2","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":2,"commentsCount":1},"__typename":"StackDecisionEdge"},{"node":{"id":"108395062244500720","link":null,"user":{"id":"103284001729116039","path":"/iahmadzain-1","title":"Solution Architect ","imageUrl":"https://img.stackshare.io/user/323749/default_9ba4c14054cddbfc0ba867108b7f8fa96e478d22.jpeg","username":"iahmadzain-1","__typename":"User","companyName":"","displayName":"Ahmad Zain"},"draft":false,"topics":[],"company":{"id":"102640058044717126","name":"Knawat","path":"/companies/knawat","slug":"knawat","imageUrl":"https://img.stackshare.io/company/134161/default_0666871ebfb711e56c1d073a36e522c3807870e9.png","__typename":"Company"},"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108395062244500720","services":[],"createdAt":"2022-05-31T06:09:50Z","fromTools":[],"viewCount":58340,"__typename":"StackDecision","bookmarked":false,"rawContent":"easy and used in the most trending tech streams","htmlContent":"
easy and used in the most trending tech streams","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-05-31T06:09:50Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[{"id":"105675403457049932","fans":1574,"name":"go","path":"/go-packages-go","slug":"go-packages-go","title":"Google Cloud Client Libraries for Go","votes":7,"stacks":1490,"imageUrl":"https://img.stackshare.io/package/go-packages/image.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/go-packages-go","followContext":null},{"id":"101231773836410122","fans":95533,"name":"PHP","path":"/php","slug":"php","title":"A popular general-purpose scripting language that is especially suited to web development","votes":4622,"stacks":144615,"imageUrl":"https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/php","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":1,"commentsCount":0},"__typename":"StackDecisionEdge"},{"node":{"id":"108151133558743536","link":null,"user":{"id":"107083197735163437","path":"/izshreyansh","title":"","imageUrl":"https://img.stackshare.io/user/1050635/default_d4e986d04ae2456764dfd90f8a6fd6fc5bd86c60.jpeg","username":"izshreyansh","__typename":"User","companyName":"","displayName":"Shreyansh Panchal"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108151133558743536","services":[],"createdAt":"2022-04-18T04:15:33Z","fromTools":[],"viewCount":57571,"__typename":"StackDecision","bookmarked":false,"rawContent":"What do you think about Node JS with React?\nI feel like this stack is fairly paid more than PHP.\n\nI am also a Laravel developer, in process of transitioning towards Node js.\n\nIf you wanna personally connect with me, hit me up at @izshreyansh on twitter.","htmlContent":"
What do you think about Node JS with React?\nI feel like this stack is fairly paid more than PHP.\n\n
I am also a Laravel developer, in process of transitioning towards Node js.\n\n
If you wanna personally connect with me, hit me up at @izshreyansh on twitter.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-04-18T04:15:33Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[],"upvotesCount":1,"commentsCount":0},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"Mw","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"107967539083368106","services":[{"name":"Magento","imageUrl":"https://img.stackshare.io/service/1769/wcU6vWxh_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/1769/thumb_wcU6vWxh_400x400.jpg","__typename":"Tool"},{"name":"WordPress","imageUrl":"https://img.stackshare.io/service/250/logo.png","thumbUrl":"https://img.stackshare.io/service/250/thumb_logo.png","__typename":"Tool"},{"name":"Drupal","imageUrl":"https://img.stackshare.io/service/1226/H9IAAYru_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/1226/thumb_H9IAAYru_400x400.jpg","__typename":"Tool"},{"name":"Python","imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","thumbUrl":"https://img.stackshare.io/service/993/thumb_pUBY5pVj.png","__typename":"Tool"},{"name":"Spring Boot","imageUrl":"https://img.stackshare.io/service/2927/nPzvMuo2_400x400.png","thumbUrl":"https://img.stackshare.io/service/2927/thumb_nPzvMuo2_400x400.png","__typename":"Tool"},{"name":"Java","imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","thumbUrl":"https://img.stackshare.io/service/995/thumb_K85ZWV2F.png","__typename":"Tool"},{"name":"MySQL","imageUrl":"https://img.stackshare.io/service/1025/logo-mysql-170x170.png","thumbUrl":"https://img.stackshare.io/service/1025/thumb_logo-mysql-170x170.png","__typename":"Tool"},{"name":"AngularJS","imageUrl":"https://img.stackshare.io/service/1019/square.png","thumbUrl":"https://img.stackshare.io/service/1019/thumb_square.png","__typename":"Tool"},{"name":"Laravel","imageUrl":"https://img.stackshare.io/service/992/AcA2LnWL_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/992/thumb_AcA2LnWL_400x400.jpg","__typename":"Tool"},{"name":"PHP","imageUrl":"https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/991/thumb_hwUcGZ41_400x400.jpg","__typename":"Tool"}],"fromTools":[],"viewCount":131422,"__typename":"StackDecision","htmlContent":"
Hi, I am working as a web developer (PHP, Laravel, AngularJS, and MySQL) with more than 8 years of experience and looking for a tech stack that pays better. I have a little bit of knowledge of Core Java. For better opportunities, Should I learn Java, Spring Boot or Python. Or should I learn Drupal, WordPress or Magento? Any guidance would be really appreciated! Thanks.","publishedAt":"2022-03-16T18:05:04Z","decisionType":"getAdvice","subjectTools":[{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null},{"id":"101231773836410122","fans":95533,"name":"PHP","path":"/php","slug":"php","title":"A popular general-purpose scripting language that is especially suited to web development","votes":4622,"stacks":144615,"imageUrl":"https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/php","followContext":null}],"upvotesCount":9},"__typename":"StackDecisionEdge"},{"node":{"id":"107955194216663142","user":{"id":"107955119884516570","title":"","imageUrl":"https://img.stackshare.io/user/1152538/default_1f87d37739896bf969f7523508ab79d550b80c70.jpeg","thumbUrl":"https://img.stackshare.io/user/1152538/thumb_1f87d37739896bf969f7523508ab79d550b80c70.jpeg","username":"gbr000","__typename":"User","companyName":"","displayName":"Satoshi Nakamoto"},"stack":null,"topics":[],"answers":{"count":3,"edges":[{"node":{"id":"108023959086932044","link":null,"user":{"id":"103764415510365964","path":"/cezarywagner5631","title":"","imageUrl":"https://img.stackshare.io/user/420757/default_904b77bbcc562b0930ed18c074962d4daabc01e5.png","username":"cezarywagner5631","__typename":"User","companyName":"","displayName":"Cezary Wagner"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108023959086932044","services":[],"createdAt":"2022-03-26T17:13:25Z","fromTools":[],"viewCount":99887,"__typename":"StackDecision","bookmarked":false,"rawContent":"Python can be linked with C++ both language are similar in many places (using same libraries or concepts to build libraries) - except memory and static types.\nC++ is more assembler and have different syntax (need 3x-4x coding more).\n\nIf you do engineering it is perfect stack - Java is to slow in coding (4x more code) and little faster than Python - whatever it is hard to mix Java/C++ what is easy Python/C++.\n\nIn the most program you do not need super performance but if you need C++ is the best and have rich Object Language much richer than Java and more poor than Python. Python is true object language - everything is object.\n\nWhatever sometimes more important is framework than language for specific use.","htmlContent":"
Python can be linked with C++ both language are similar in many places (using same libraries or concepts to build libraries) - except memory and static types.\nC++ is more assembler and have different syntax (need 3x-4x coding more).\n\n
If you do engineering it is perfect stack - Java is to slow in coding (4x more code) and little faster than Python - whatever it is hard to mix Java/C++ what is easy Python/C++.\n\n
In the most program you do not need super performance but if you need C++ is the best and have rich Object Language much richer than Java and more poor than Python. Python is true object language - everything is object.\n\n
Whatever sometimes more important is framework than language for specific use.","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-03-26T17:13:25Z","decisionType":"giveAdvice","rootComments":[{"id":"108024336755220956","user":{"id":"107758647868655764","path":"/26vatsapr","imageUrl":"https://img.stackshare.io/user/1129262/default_f4da55adc9b1b71da495253b0d9b3bd92ba0bf3e.png","__typename":"User","displayName":"Prakhar Vatsa"},"content":"I mean C++ is a superset of C, so might as well use C, am I right? It's just a case of simple bike, automatic car or manual car. python is simple bike, used for town based biking, like for going to school, etc. java is automatic car(like the memory management), while c is manual car(oil changes, motor changing, etc.). It's like comparing honda civic to bugatti chevron. Bugatti chevron is fast and all, but it isn't general purpose, it's purpose is for racing. honda civic is general, and that's what this guy is looking for, i think.","flagged":false,"replies":[{"id":"108034040997528321","user":{"id":"103764415510365964","path":"/cezarywagner5631","imageUrl":"https://img.stackshare.io/user/420757/default_904b77bbcc562b0930ed18c074962d4daabc01e5.png","__typename":"User","displayName":"Cezary Wagner"},"content":"You can use C++/C with Python. Current C++ is not the old one so memory management can be automated whatever memory management in Python and C++ is different. You need understand how both behaves. Pointers, references, stacks, core types - in Python it is simple. Same with int in Python is one type in C++ 8 types for int with overflows.","flagged":false,"upvoted":false,"parentId":"108024336755220956","postedAt":"2022-03-28T11:57:23Z","__typename":"Comment","upvotesCount":2},{"id":"108358252454044192","user":{"id":"107955119884516570","path":"/gbr000","imageUrl":"https://img.stackshare.io/user/1152538/default_1f87d37739896bf969f7523508ab79d550b80c70.jpeg","__typename":"User","displayName":"Satoshi Nakamoto"},"content":"Everyone says Python is great but they also say that it doesn't cover all programming concepts which puts you down the road. What book can you recommend me to get out of the beginner? I have seen that most content only lets you in the beginner zone. I struggle to read Python's manual, I have to decipher it. For now, I know what is built-in commands, some web scrapping, and some libraries. What else am I missing here?","flagged":false,"upvoted":false,"parentId":"108024336755220956","postedAt":"2022-05-24T18:08:37Z","__typename":"Comment","upvotesCount":2}],"upvoted":false,"parentId":null,"postedAt":"2022-03-26T18:49:28Z","__typename":"Comment","upvotesCount":2},{"id":"108358248726049085","user":{"id":"107955119884516570","path":"/gbr000","imageUrl":"https://img.stackshare.io/user/1152538/default_1f87d37739896bf969f7523508ab79d550b80c70.jpeg","__typename":"User","displayName":"Satoshi Nakamoto"},"content":"Great answers! It really unlocked many doubts. But to start 1. where can I find poper C++ manual and which is the best book/video/DVD to cover all programming concepts at once like the book \"The Linux Programming Interface\" which covers all about the kernel","flagged":false,"replies":[],"upvoted":false,"parentId":null,"postedAt":"2022-05-24T18:07:40Z","__typename":"Comment","upvotesCount":0}],"subjectTools":[{"id":"101231773860248995","fans":11555,"name":"C++","path":"/cplusplus","slug":"cplusplus","title":"Has imperative, object-oriented and generic programming features, while also providing the facilities for low level memory manipulation","votes":849,"stacks":17309,"imageUrl":"https://img.stackshare.io/service/1049/cplusplus.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/cplusplus","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":5,"commentsCount":4},"__typename":"StackDecisionEdge"},{"node":{"id":"108288113640702742","link":null,"user":{"id":"108287969608519271","path":"/flashing-blinkenlights","title":"","imageUrl":"https://img.stackshare.io/user/1217409/default_92c3436fc4788a4523d2556ad9f4370501535943.png","username":"flashing-blinkenlights","__typename":"User","companyName":"","displayName":"flashing-blinkenlights"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"108288113640702742","services":[],"createdAt":"2022-05-12T08:51:24Z","fromTools":[],"viewCount":86879,"__typename":"StackDecision","bookmarked":false,"rawContent":"I would go with Python, it is fast to code, readable and very powerful without giving you too much to think about (e.g. memory management).\nIf you're looking for speed, Cython is a fairly good way to get there, since Python is a C-based language it can be compiled to C using Cython and will get you a very significant boost in speed! You can also make use of C libraries if you prefer.\nThe only downside to Cython over Python is that it is compiled and not interpreted, which can make debugging a pain (but you might find yourself doing most of the debugging in Python before switching to Cython).\nC languages are a bit of a pain to read up on (API, libraries etc.), but Stack Overflow has you covered in most cases!","htmlContent":"
I would go with Python, it is fast to code, readable and very powerful without giving you too much to think about (e.g. memory management).\nIf you're looking for speed, Cython is a fairly good way to get there, since Python is a C-based language it can be compiled to C using Cython and will get you a very significant boost in speed! You can also make use of C libraries if you prefer.\nThe only downside to Cython over Python is that it is compiled and not interpreted, which can make debugging a pain (but you might find yourself doing most of the debugging in Python before switching to Cython).\nC languages are a bit of a pain to read up on (API, libraries etc.), but Stack Overflow has you covered in most cases!","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-05-12T08:51:23Z","decisionType":"giveAdvice","rootComments":[],"subjectTools":[{"id":"104706496318442917","fans":41,"name":"Cython","path":"/pypi-cython","slug":"pypi-cython","title":"The Cython compiler for writing C extensions for the Python language","votes":0,"stacks":107,"imageUrl":"https://img.stackshare.io/package/19929/default_74a0c20721d3a0a1484d69586401591fe8993db2.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/pypi-cython","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":5,"commentsCount":0},"__typename":"StackDecisionEdge"},{"node":{"id":"107983688177596624","link":null,"user":{"id":"107758647868655764","path":"/26vatsapr","title":null,"imageUrl":"https://img.stackshare.io/user/1129262/default_f4da55adc9b1b71da495253b0d9b3bd92ba0bf3e.png","username":"26vatsapr","__typename":"User","companyName":null,"displayName":"Prakhar Vatsa"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"107983688177596624","services":[],"createdAt":"2022-03-19T14:32:00Z","fromTools":[],"viewCount":85418,"__typename":"StackDecision","bookmarked":false,"rawContent":"All programming languages are cross platform except Java, but even that's not that bad. \nPerformance: C(++), Go, Rust, Java, Ada, OCaml, Haskell, C#\nApps: JS, TS, ReScript, Go, C(++), Java, Haskell, C#, Dart\nSecurity: Java, Go, Rust, COBOL, C(++), C#\nCompatibility: Java(due to it's VM), C(++), Go, C#\nLibraries: Java, Go, C(++), C#\nDocumentation: Java, C(++) (since they are mature)\nWhat do you mean without getting lost in the language? \nI'd not advocate for C(or C++), considering it's hard to understand the memory, and it's for those into programming theory. You are looking for all you need. Go for Java, it has a library for everything, it has a reasonable learning curve, and pretty much you are going to encounter it everywhere- it's like a programming black hole you can't escape. ","htmlContent":"
All programming languages are cross platform except Java, but even that's not that bad. \nPerformance: C(++), Go, Rust, Java, Ada, OCaml, Haskell, C#\nApps: JS, TS, ReScript, Go, C(++), Java, Haskell, C#, Dart\nSecurity: Java, Go, Rust, COBOL, C(++), C#\nCompatibility: Java(due to it's VM), C(++), Go, C#\nLibraries: Java, Go, C(++), C#\nDocumentation: Java, C(++) (since they are mature)\nWhat do you mean without getting lost in the language? \nI'd not advocate for C(or C++), considering it's hard to understand the memory, and it's for those into programming theory. You are looking for all you need. Go for Java, it has a library for everything, it has a reasonable learning curve, and pretty much you are going to encounter it everywhere- it's like a programming black hole you can't escape. ","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-03-19T14:32:00Z","decisionType":"giveAdvice","rootComments":[{"id":"108047593075854167","user":{"id":"103764415510365964","path":"/cezarywagner5631","imageUrl":"https://img.stackshare.io/user/420757/default_904b77bbcc562b0930ed18c074962d4daabc01e5.png","__typename":"User","displayName":"Cezary Wagner"},"content":"Java is wrong for Computer Science - slow coding 2-4 more code. \nPython/C++ beats Java in all aspects. Python can be enough if you do not want to create commercial Desktop Application.\nI think that is not target. Python support all paradigm of programming and have links to many C++ libraries which speed is not comparable to Java.\nSpeed of execution is nothing I give you example - I go to coder/hacker tournament. \nI wrote Python solution for 5 complex problems in one day.\nAfter this I found that they prefer C++ too much so I rewrite this in C++ in 2 days.\n\nIf I was start this problems in C++ I will be never finish my algorithms prototypes in 5 days (Python is extremely productive - 4x-8x times ...).\nSo if I want write some complex algorithm is much better to draw this in Python.\nIn most case it is not need to rewrite this and Python code is the most clear from all languages if you know how to code of course.\n1 solution on 20 is need to be rewritten - no reason to write 2-4 more code in Java or 2-3 more code in C++ to get speed .25s instead 1s :)\n\nI writing in Python application for telco doing more than 100 000 000 per year.\nI use Java only to code Desktop Application or to get more money because someone like to pay.\nPersonally for me Java is very poor cousin of C++ and Python little slow and rich True Object Oriented Language.\n\nSpeed of coding == more money or more creation.\nSpeed of execution == 1$ of savings :)\n","flagged":false,"replies":[],"upvoted":false,"parentId":null,"postedAt":"2022-03-30T21:23:51Z","__typename":"Comment","upvotesCount":3},{"id":"108242966984823742","user":{"id":"106726875001942335","path":"/dweller","imageUrl":"https://img.stackshare.io/user/1005297/default_50b7f4245db94307fb416076ddc6bee60983ea9f.jpeg","__typename":"User","displayName":"Simon Banks"},"content":"Horses for courses.. If you need speed then C is only beaten by Assembler/Machine code and that is hard to use. If I don't need speed for efficiency then I generally Python. Replaced Perl for me and is a lot more readable.","flagged":false,"replies":[{"id":"108262301548554021","user":{"id":"107758647868655764","path":"/26vatsapr","imageUrl":"https://img.stackshare.io/user/1129262/default_f4da55adc9b1b71da495253b0d9b3bd92ba0bf3e.png","__typename":"User","displayName":"Prakhar Vatsa"},"content":"Perl is way more productive than you think.. The most productive languages are the message-passing OOP family(smalltalk, eiffel, delphi, objective-c), then perl and julia, then the functional family(haskell, ocaml, elixir, erlang, f#, reasonml, sml), then the mainstreams(Python, C++, Java/C#, Go), then lisp/js, then the old languages. so if you exclude the \"dead\" languages(including perl), then julia/haskell is your only bet.","flagged":false,"upvoted":false,"parentId":"108242966984823742","postedAt":"2022-05-07T19:27:02Z","__typename":"Comment","upvotesCount":0}],"upvoted":false,"parentId":null,"postedAt":"2022-05-04T09:30:00Z","__typename":"Comment","upvotesCount":0}],"subjectTools":[{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null}],"upvotesCount":2,"commentsCount":3},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"Mw","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"107955194216663142","services":[{"name":"Windows","imageUrl":"https://img.stackshare.io/service/2881/U54M_YbJ_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/2881/thumb_U54M_YbJ_400x400.jpg","__typename":"Tool"},{"name":"C lang","imageUrl":"https://img.stackshare.io/no-img-open-source.png","thumbUrl":"https://img.stackshare.io/service/1081/thumb_no-img-open-source.png","__typename":"Tool"},{"name":"Python","imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","thumbUrl":"https://img.stackshare.io/service/993/thumb_pUBY5pVj.png","__typename":"Tool"},{"name":"Java","imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","thumbUrl":"https://img.stackshare.io/service/995/thumb_K85ZWV2F.png","__typename":"Tool"},{"name":"MySQL","imageUrl":"https://img.stackshare.io/service/1025/logo-mysql-170x170.png","thumbUrl":"https://img.stackshare.io/service/1025/thumb_logo-mysql-170x170.png","__typename":"Tool"},{"name":".NET","imageUrl":"https://img.stackshare.io/service/1014/IoPy1dce_400x400.png","thumbUrl":"https://img.stackshare.io/service/1014/thumb_IoPy1dce_400x400.png","__typename":"Tool"},{"name":"C#","imageUrl":"https://img.stackshare.io/service/1015/1200px-C_Sharp_wordmark.svg.png","thumbUrl":"https://img.stackshare.io/service/1015/thumb_1200px-C_Sharp_wordmark.svg.png","__typename":"Tool"},{"name":"C++","imageUrl":"https://img.stackshare.io/service/1049/cplusplus.png","thumbUrl":"https://img.stackshare.io/service/1049/thumb_cplusplus.png","__typename":"Tool"}],"fromTools":[],"viewCount":121686,"__typename":"StackDecision","htmlContent":"
Actually, I'll add, C++ and C# as well. \n\n
Well, I'm into Computer Science since 1996, so I understand a bit of everything plus a lot of different OSs, I study 10 hours per day every day. However back in the 90s we didn't have books or universities about programming, all were passed through if you knew somebody in that profession. Which I did and in that time, he showed me .NET and MySQL, and that offered a lot of jobs also Java. Today you have a lot of options but I'm already discarding new languages as I believe they will jot succeed. \n\n
My always dream was to create game, and software. I don't understand all programming concepts and I'm studying all languages at the same time, so I'm heavy loaded. But that keeps me more aware.\n\n
I made a choice: use Python for everything but if you want performance, apps, security, compatibility, Multiplatform. What should I choose? The real question here is: which language should I go 100% and that language will teach me all I need about programming BUT without getting lost in that language forever (I discard any Assembly possibility) and one that has full documentation, support and libraries.\n\n
In my experience: I found a lot of info for python and java. But hardly I have ever found anything for C lang, C++ and, what about C# (it's only for Windows, is it easy, I saw a lot of documentation). Thanks!!","publishedAt":"2022-03-14T13:45:36Z","decisionType":"getAdvice","subjectTools":[{"id":"101231773874709816","fans":5696,"name":"C lang","path":"/c-lang","slug":"c-lang","title":"One of the most widely used programming languages of all time","votes":253,"stacks":13715,"imageUrl":"https://img.stackshare.io/no-img-open-source.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/c-lang","followContext":null},{"id":"101231773838011785","fans":118804,"name":"Java","path":"/java","slug":"java","title":"A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible","votes":3710,"stacks":135580,"imageUrl":"https://img.stackshare.io/service/995/K85ZWV2F.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/java","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":10},"__typename":"StackDecisionEdge"},{"node":{"id":"107706824687803254","user":{"id":"107349241386029564","title":null,"imageUrl":"https://img.stackshare.io/user/1081277/default_db565fdc1388025f843978579b67e79951a73e30.jpeg","thumbUrl":"https://img.stackshare.io/user/1081277/thumb_db565fdc1388025f843978579b67e79951a73e30.jpeg","username":"itsahmed-dev","__typename":"User","companyName":null,"displayName":"itsahmed-dev"},"stack":null,"topics":[],"answers":{"count":1,"edges":[{"node":{"id":"107757423498301192","link":null,"user":{"id":"105172223180096429","path":"/mohamedreda007007","title":"Software engineer","imageUrl":"https://img.stackshare.io/user/788360/default_70723746d95f3fe27c59cb7341f22e661ba0fc67.jpg","username":"mohamedreda007007","__typename":"User","companyName":"","displayName":"Mohamed Reda"},"draft":false,"topics":[],"company":null,"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"107757423498301192","services":[],"createdAt":"2022-02-07T15:29:55Z","fromTools":[],"viewCount":104559,"__typename":"StackDecision","bookmarked":false,"rawContent":"Hi, I have 3 years with Flutter and I can see that Flutter with Firebase will be a good choice for you,\nJust start with Firebase, it's a little bit expensive when you have a lot of users, but there you will have some money to build your own API using any other language, and here I recommend Elixir or Python.\n\nAnd about what you need to learn:\n- Dart\n- Flutter\n- State management for Flutter\n- Firebase\n\nThen you can publish your app finally, and I wish you a happy published app :) ","htmlContent":"
Hi, I have 3 years with Flutter and I can see that Flutter with Firebase will be a good choice for you,\nJust start with Firebase, it's a little bit expensive when you have a lot of users, but there you will have some money to build your own API using any other language, and here I recommend Elixir or Python.\n\n
And about what you need to learn:\n- Dart\n- Flutter\n- State management for Flutter\n- Firebase\n\n
Then you can publish your app finally, and I wish you a happy published app :) ","permissions":{"edit":false,"delete":false,"__typename":"Permissions"},"publishedAt":"2022-02-07T15:29:55Z","decisionType":"giveAdvice","rootComments":[{"id":"107791634003107525","user":{"id":"107349241386029564","path":"/itsahmed-dev","imageUrl":"https://img.stackshare.io/user/1081277/default_db565fdc1388025f843978579b67e79951a73e30.jpeg","__typename":"User","displayName":"itsahmed-dev"},"content":"Cool. Thanks for your feedback. so nice of you.","flagged":false,"replies":[],"upvoted":false,"parentId":null,"postedAt":"2022-02-13T16:30:05Z","__typename":"Comment","upvotesCount":1}],"subjectTools":[{"id":"101231774111549176","fans":4478,"name":"Dart","path":"/dart","slug":"dart","title":"A new web programming language with libraries, a virtual machine, and tools","votes":452,"stacks":3917,"imageUrl":"https://img.stackshare.io/service/1646/Twitter-02.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/dart","followContext":null},{"id":"101231773461393493","fans":41543,"name":"Firebase","path":"/firebase","slug":"firebase","title":"The Realtime App Platform","votes":1967,"stacks":41147,"imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","verified":true,"following":false,"__typename":"Tool","canonicalUrl":"/firebase","followContext":null}],"upvotesCount":5,"commentsCount":1},"__typename":"StackDecisionEdge"}],"pageInfo":{"endCursor":"MQ","__typename":"PageInfo","hasNextPage":false},"__typename":"StackDecisionConnection"},"company":null,"private":false,"toTools":[],"publicId":"107706824687803254","services":[{"name":"Golang","imageUrl":"https://img.stackshare.io/service/1005/O6AczwfV_400x400.png","thumbUrl":"https://img.stackshare.io/service/1005/thumb_O6AczwfV_400x400.png","__typename":"Tool"},{"name":"Python","imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","thumbUrl":"https://img.stackshare.io/service/993/thumb_pUBY5pVj.png","__typename":"Tool"},{"name":"Firebase","imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","thumbUrl":"https://img.stackshare.io/service/116/thumb_cZLxNFZS.jpg","__typename":"Tool"},{"name":"Flutter","imageUrl":"https://img.stackshare.io/service/7180/flutter-mark-square-100.png","thumbUrl":"https://img.stackshare.io/service/7180/thumb_flutter-mark-square-100.png","__typename":"Tool"},{"name":"Dart","imageUrl":"https://img.stackshare.io/service/1646/Twitter-02.png","thumbUrl":"https://img.stackshare.io/service/1646/thumb_Twitter-02.png","__typename":"Tool"}],"fromTools":[],"viewCount":108581,"__typename":"StackDecision","htmlContent":"
I want to create a mobile-first e-commerce platform app. I think Dart and Flutter is a way for me to build cross-platform apps from a single codebase but I might be wrong so what do you guys think?\n\n
I also don't know what to do about the back-end. I mean managing the database of products and users. handing orders and invoices. I think Firebase can be an answer to my problems but how far I can go with firebase and its user authentication and database tools? Just firebase is enough for all my back-end needs?\n\n
What suits my needs, a relational database or a non-relational database?\n\n
Do I need to learn another programming language for handling back-end, like Python or Go?\n\n
I would appreciate your opinion. Thanks","publishedAt":"2022-01-29T17:01:58Z","decisionType":"getAdvice","subjectTools":[{"id":"101231774111549176","fans":4478,"name":"Dart","path":"/dart","slug":"dart","title":"A new web programming language with libraries, a virtual machine, and tools","votes":452,"stacks":3917,"imageUrl":"https://img.stackshare.io/service/1646/Twitter-02.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/dart","followContext":null},{"id":"101231773461393493","fans":41543,"name":"Firebase","path":"/firebase","slug":"firebase","title":"The Realtime App Platform","votes":1967,"stacks":41147,"imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","verified":true,"following":false,"__typename":"Tool","canonicalUrl":"/firebase","followContext":null},{"id":"101231773837179153","fans":227321,"name":"Python","path":"/python","slug":"python","title":"A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.","votes":6894,"stacks":245549,"imageUrl":"https://img.stackshare.io/service/993/pUBY5pVj.png","verified":false,"following":false,"__typename":"Tool","canonicalUrl":"/python","followContext":null}],"upvotesCount":9},"__typename":"StackDecisionEdge"},{"node":{"id":"107226619146448282","user":{"id":"101232036010350824","title":"Curriculum Developer","imageUrl":"https://img.stackshare.io/user/93952/default_1e3d2b442a0d28888ebbb63f94819b7811babdf6.jpeg","thumbUrl":"https://img.stackshare.io/user/93952/thumb_1e3d2b442a0d28888ebbb63f94819b7811babdf6.jpeg","username":"sadieflick","__typename":"User","companyName":"","displayName":"Sadie Flick"},"stack":null,"topics":[],"answers":{"count":5,"edges":[{"node":{"id":"107358129549308884","link":null,"user":{"id":"107357955190711232","path":"/psanet","title":"Head of Engineering - AIOps","imageUrl":"https://img.stackshare.io/user/1081859/default_7794f6c2cdd22fb3c694981b95c800eff1b52fb6.jpg","username":"psanet","__typename":"User","companyName":"Microsoft","displayName":"Prashant Singh Ahluwalia"},"draft":false,"topics":[],"company":{"id":"101231709510749908","name":"Microsoft-365","path":"/companies/microsoft-365","slug":"microsoft-365","imageUrl":"https://img.stackshare.io/company/220/default_70522123685141ec1589c4b83956434d0c07e03d.jpg","__typename":"Company"},"flagged":false,"private":false,"toTools":[],"upvoted":false,"publicId":"107358129549308884","services":[],"createdAt":"2021-11-29T03:04:12Z","fromTools":[],"viewCount":295844,"__typename":"StackDecision","bookmarked":false,"rawContent":"Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.\n\nBuild expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!\n\nNext, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well. \n\nHope it helps!","htmlContent":"
Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.\n\n
Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!\n\n
Dart and Java are both popular programming languages used for building web and mobile applications. Let's explore the key differences between them.
Syntax and Language Structure: Dart uses a more modern and concise syntax compared to Java. It has a cleaner and more intuitive syntax, with features such as optional typing and a simplified class hierarchy. Java, on the other hand, has a more verbose and rigid syntax with a stronger emphasis on object-oriented programming.
Platform Independence: Dart is designed to be a platform-independent language, meaning that it can be used to build applications that run on multiple platforms without major modifications. Java, on the other hand, is known for its "write once, run anywhere" principle, allowing developers to write code that can run on any platform that supports Java Virtual Machine (JVM).
Performance: Java is known for its strong performance, thanks to its Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilation capabilities. This allows Java applications to be highly optimized and performant. Dart, on the other hand, is compiled to native code using a virtual machine, which can impact its performance compared to Java.
Ecosystem and Libraries: Java has a mature and extensive ecosystem with a wide range of libraries and frameworks available for developers. It has been around for a long time and has a strong community and support. Dart, on the other hand, has a smaller ecosystem and fewer libraries available, making it slightly less versatile and potentially requiring more custom development.
Concurrency and Multithreading: Java has built-in support for multithreading and concurrency, making it easier to handle parallel processing and improve application performance. Dart, on the other hand, currently does not have built-in support for multithreading, although there are experimental libraries available.
Tooling and IDE Support: Java has a wide range of Integrated Development Environments (IDEs) and tooling available, including popular options like Eclipse and IntelliJ IDEA. Dart, while also having IDE support, may have a slightly more limited range of tooling options and IDE integrations compared to Java.
In summary, Dart, developed by Google, is known for its simplicity, speed, and suitability for building cross-platform mobile, web, and server-side applications. Java, a versatile and mature language, is widely adopted for enterprise applications, Android development, and backend services, offering strong support for object-oriented programming, robust libraries, and platform independence.
I am planning to implement a ETL test system for checking data quality and business use cases. I am confused on what stack to use. Any advice on the below will be very helpful.
Any existing frameworks and its source code for help
Any other stack apart from the mentioned stack (that might be suitable)
If you want to create using Python language, Robot Framework is one very helpful tool to improve your test scripting and we have a lot of methods created by the community.
If you want to use Javascript, Cypress in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.
I will use Elixir for personal projects. It's productive, reliable, secure, simple, etc. But when performance is critical, I need job opportunities, when I work with mutability, which do I pick? I need advice on which "bureaucratic, mainstream" programming language to pick when wanting performance and jobs. Elixir is often "slow", and it hasn't boomed yet the way Golang and Rust have, so which?
Well for those performant tasks maybe you can use Rust nifs for elixir. Elixir enables to write fault-tolerant, scalable code for concurrent systems, and as such, it is perfect for messaging systems and web applications that might need to handle a lot of users efficiently. But if you need speed you can plug in Rust or write a microservice using Goland/Rust.
Hello Folks, my first time here, and for requesting advice. I am trying to create some automation from my cloud stack on AWS to something more cloud native. I have containerised the services, however, I am stuck at DB, my Data warehouse, and messaging. Would love some recommendations on how can I automate this for some future work too.
I recommend cloud-init for base setup of machines and configuring them.. Its simple (YAML file) and is industry standard. Even works on bare metal as well as cloud.
Hi, I am working as a web developer (PHP, Laravel, AngularJS, and MySQL) with more than 8 years of experience and looking for a tech stack that pays better. I have a little bit of knowledge of Core Java. For better opportunities, Should I learn Java, Spring Boot or Python. Or should I learn Drupal, WordPress or Magento? Any guidance would be really appreciated! Thanks.
Hard to answer it depend on market. Python + Flask + Jinja2 is better that SpringBoot. Java can be paid better now but I think that future is Python.
I code very good in PHP, Java, Python - prefer Python for less code and more effects. PHP is little ugly and limited to web.
Well, I'm into Computer Science since 1996, so I understand a bit of everything plus a lot of different OSs, I study 10 hours per day every day. However back in the 90s we didn't have books or universities about programming, all were passed through if you knew somebody in that profession. Which I did and in that time, he showed me .NET and MySQL, and that offered a lot of jobs also Java. Today you have a lot of options but I'm already discarding new languages as I believe they will jot succeed.
My always dream was to create game, and software. I don't understand all programming concepts and I'm studying all languages at the same time, so I'm heavy loaded. But that keeps me more aware.
I made a choice: use Python for everything but if you want performance, apps, security, compatibility, Multiplatform. What should I choose? The real question here is: which language should I go 100% and that language will teach me all I need about programming BUT without getting lost in that language forever (I discard any Assembly possibility) and one that has full documentation, support and libraries.
In my experience: I found a lot of info for python and java. But hardly I have ever found anything for C lang, C++ and, what about C# (it's only for Windows, is it easy, I saw a lot of documentation). Thanks!!
Python can be linked with C++ both language are similar in many places (using same libraries or concepts to build libraries) - except memory and static types.
C++ is more assembler and have different syntax (need 3x-4x coding more).
If you do engineering it is perfect stack - Java is to slow in coding (4x more code) and little faster than Python - whatever it is hard to mix Java/C++ what is easy Python/C++.
In the most program you do not need super performance but if you need C++ is the best and have rich Object Language much richer than Java and more poor than Python. Python is true object language - everything is object.
Whatever sometimes more important is framework than language for specific use.
I would go with Python, it is fast to code, readable and very powerful without giving you too much to think about (e.g. memory management).
If you're looking for speed, Cython is a fairly good way to get there, since Python is a C-based language it can be compiled to C using Cython and will get you a very significant boost in speed! You can also make use of C libraries if you prefer.
The only downside to Cython over Python is that it is compiled and not interpreted, which can make debugging a pain (but you might find yourself doing most of the debugging in Python before switching to Cython).
C languages are a bit of a pain to read up on (API, libraries etc.), but Stack Overflow has you covered in most cases!
All programming languages are cross platform except Java, but even that's not that bad.
Performance: C(++), Go, Rust, Java, Ada, OCaml, Haskell, C#
Apps: JS, TS, ReScript, Go, C(++), Java, Haskell, C#, Dart
Security: Java, Go, Rust, COBOL, C(++), C#
Compatibility: Java(due to it's VM), C(++), Go, C#
Libraries: Java, Go, C(++), C#
Documentation: Java, C(++) (since they are mature)
What do you mean without getting lost in the language?
I'd not advocate for C(or C++), considering it's hard to understand the memory, and it's for those into programming theory. You are looking for all you need. Go for Java, it has a library for everything, it has a reasonable learning curve, and pretty much you are going to encounter it everywhere- it's like a programming black hole you can't escape.
I want to create a mobile-first e-commerce platform app. I think Dart and Flutter is a way for me to build cross-platform apps from a single codebase but I might be wrong so what do you guys think?
I also don't know what to do about the back-end. I mean managing the database of products and users. handing orders and invoices. I think Firebase can be an answer to my problems but how far I can go with firebase and its user authentication and database tools? Just firebase is enough for all my back-end needs?
What suits my needs, a relational database or a non-relational database?
Do I need to learn another programming language for handling back-end, like Python or Go?
Hi, I have 3 years with Flutter and I can see that Flutter with Firebase will be a good choice for you,
Just start with Firebase, it's a little bit expensive when you have a lot of users, but there you will have some money to build your own API using any other language, and here I recommend Elixir or Python.
And about what you need to learn:
- Dart
- Flutter
- State management for Flutter
- Firebase
Then you can publish your app finally, and I wish you a happy published app :)
Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?
Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.
Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!
Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.
Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.
Just learn to learn. Learn to search and develop your logical thinking, that's all you need. No books, no deep study of how computers work, just logic and willingness to learn
For me, it is less of a specific technology you know (although I would prefer you have some knowledge of some of my team stack).
It is more the way you get into a problem, the eagerness to learn more, the true sincerity to say "I don't know", the open mind to find solutions in different ways and the "Yes we can" mentality no matter how hard it is.
Most employers don't expect from you to know how to implement CI/CD or any other funcy stuff. As junior developer you should focus on building a good toolset of good software practices & principles. Your soft skills are important as well. Learn about soft skills. Be eager to learn, be humble and show you talent and your creativity through your work. If you want to become a good developer ( at first) and a star engineer (at a later stage) then computer programming (coding) is your number one priority . Coding is like painting. Putting aside your talent, you have to practice a lot and improve your outcome each time. As junior developer you can learn how to write good code by studying existing code found in public git repositories (i e , github). As junior developer you should study some good software principles (i.e., DRY, KISS, YAGNI) and always recall them each time you write software code. As junior developer you should learn about coding standards and conventions. You will have to follow to your company's coding conventions (soon or later) as well as you will realize that you have to write code cosistent to the existing code base. At the end of the day, code consistency matters a lot. You have to improve your code day by day. If you manage to follow some good software practices you will find out that you will need an ORM to work with your database. Then you will realize that you need the X web framework to build your REST API etc. To sum up, you will start building a toolset with a single programming language and some good software practices & principles and then you will put new tools in it day-by-day.
Since you're following Python, I would recomend using Django as your main back-end language. If you know Python it would be a great experience.
Django is well documented on their official website:
https://www.djangoproject.com/
I would also use React for front-end as well.
Also this article is worth reading, I think progressive web app is something worth learning these days:
https://web.dev/progressive-web-apps/
Hope that helps :)
Since your team is already using JavaScript, there's a great number of examples for backend services written with NodeJS. I'd recommend using Firebase, or any backend as a service (you can use that term to find alternatives), for setting up your backend as it is much easier for newer people to understand and lets you focus on your core application logic, and not provisioning servers, databases, etc.
Since you're team is already using JavaScript, there are alot of examples and open source projects written with NodeJs, so I preffer this language in your backend application and also I am recommended using Mongo DB with It for saving data in it, and also for your frontend application I am recommanded using VueJs.
Since you are already using JavaScript on the front end it would be easy to adopt the MERN (MongoDB, Express, React, NodeJS) stack which s all javascript based making it easy to transfer knowledge with the backend and front end
Make it simple, most of projects doesnt need a AI, ML or big algorithms.
If your project just serving end users take it to the web ready compatible. (Javascript, .Net, PHP Laravel)
Hi there. I'm looking to build an employee time tracker web app. This should also be optimized for mobile. I'm trying to figure out what the best stack is for this. I have knowledge of Java, JavaScript, some C#. I don't mind learning a new language for this purpose. Any help or advice would be really awesome! Thanks.
Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.
My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.
As you have knowledge of Javascript, I would go towards Vue/React in Frontend and Node (with suitable framework) with backend. From my point of view Java would be too bloated for suggested kind of an app. I myself use PHP as a backend a lot and React as frontend but moving thoughts towards full stack javascript world.
php is the best for beginners, and one of the best for web development at all, all the host servers can handle it, a basic knowledge in java is not enough for build a web site, but a basic knowledge in php is enough. learn php basics and oop and mvc design pattern or any framework like Laravel (optional), and javascript for frontend (a framework like React or Angular is optional but good) and you will build any web site you want.
We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.
For just a time tracker app? I'd recommend going with a cloud-based approach. A couple serverless functions in whatever language you choose, and the front end can be a static website hosted inside a storage service (blob for Azure, bucket for AWS, etc). This will ultimately probably save you a little time, and them a little money on hosting.
We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.
I was thinking about adding a new technology to my current stack (Ruby and JavaScript). But, I want a compiled language, mainly for speed and scalability reasons compared to interpreted languages. I have tried each one (Rust, Java, and Kotlin). I loved them, and I don't know which one can offer me more opportunities for the future (I'm in my first year of software engineering at university).
I will highly recommend Kotlin.
I have worked with all three intensely and so far the development speed and simplicity is the best with Kotlin.
Kotlin supports coroutines out of the box. Now, it isn't something that can't be implemented in other languages but Kotlin makes it super easy to work with them.
Kotlin has a bit of learning curve, so, by the time you can actually use it idiomatically chances are that you will get proficient in Java too. But once you get it, you get it, then there is no other language ;)
Kotlin is backed by Google and Jetbrains team so you can expect latest programming features and good community support.
I'd say Rust's knowledge will be more valuable in comparison. You can work in Blockchain development, compile to WASM (WebAssembly). There is a new JavaScript/TypeScript runtime named Deno (by the creator of Node.js) that has its backend in Rust.
If you want a compiled language then go for Rust. It takes a certain mindset to get your head around its memory management system and the way it handles "borrowed" memory. However, it will generate blindingly fast code that you can cross-compile for other platforms. As a systems programming language I highly recommend it. Take time and learn it.
Java is only compiled to bytecode, not to machine code. So it executes in the Java Virtual Machine. DOn't think that its not fast, because the latest incarnation are very fast indeed. For most practical purposes, users of your code won't notice any difference. There are a heck of a lot of features in Java that you either have to import via crates in Rust, or write yoursef. So productivity-wise, Java may well beat Rust.
Kotlin is a Java-lookalike. It's a nice, and succinct version of Java and is totally interoperable. But its a bit niche, and for me it fails because my dev environment of choice (Spring Tool Suite) doesn't really play well with Kotlin. To use it you would be well advised to use iDeaj. I have used kotlin, and I like it, but not enough to ditch all my Java code.
Other contenders, depending on your platform of choice are Golang, C, C++, and C# (available as Mono on Linux systems).
I use Rust and Java and if you need a compiled language I recommend Rust.
It depends on which level and use cases you prefer to work at. Close to the machine? Rust is great but if you need to find more job opportunities, then take C/C++. Java has many job positions but I suggest Kotlin over it. Think about it as a better Java, but fewer job positions.
Do you want to do your own projects? So a productive language like Ruby is way better. Like to program front-end apps? Take JS.
Find your passion.
As you certainly know, there are languages that compile in meta-code for Virtual Machines (Java, C#, Kotlin) and languages that compile in Machine Language (Go, Rust). Apart specific domains (blockchain, IoT embedded software, AI, cloud) almost no-one uses languages that compile in machine language, for a series of reason, most of all security and portability. So, if you are going to learn for business go with Kotlin - Java is a bit ancien regime.
If you seriously need to learn a language that compiles in ML - for example you will code for IoT - go with Go - or Rust - but keep in mind that Rust is much less used than Go.
PS: Kotlin also compiles in ML, but I would choose a language designed for that, instead of one that compiles "also" in ML.
PPS: Some Virtual Machines - ie: GraalVM - allow you to compile Java in ML. The world of IT is beautiful.
I'd recommend you to take a look at Java and Kotlin, the first due to the number of companies that actively use it in your products. Kotlin is gaining adept since it is fully compatibly with the Java ecosystem but usually requires less code to do the same (ignoring other benefits of the language). Another benefits of the Kotlin is that it is in fact multiplatform, where you could use the same syntax to code for mobile, web and backend applications.
The drawback of Kotlin, is the number of open jobs that exists currently compared to Java, but I pretty sure that it will change in the near future.
All those are nice languages, but Rust is harder to learn properly and has a smaller ecosystem. If you want to work in system programming (like hardware drivers) Rust is probably your choice. Otherwise, Java/Kotlin ecosystem is much larger and gives much more possibilities (maybe excluding low-level system programming).
When talking about Kotlin and Java, both are good. But Kotlin, again, gives much more opportunities. Kotlin-JS gives you browser applications, Kotlin-Native allows to compile to native application (and interop with them). Kotlin-WASM will be available shortly. Rust is better than Kotlin-Native for native development tight now, but not by far and it makes sense only if you are focusing only on native development.
We're moving from Java to Kotlin with our Microservice Stack (Spring Boot) because it is excellently supported by framework and tools and the learning curve is not very steep Kotlin is way more straightforward and convenient to use while providing less boilerplate and more strictness, which finally leads to better code, which is more readable, maintainable and less error-prone. We especially like Kotlin's (functional) data structures, which are, e.g. compared to Scala, easier to understand and don't require deep knowledge in functional programming.
We have chosen a mix of Java and Python for building an open source data observability tool. The application can work as a standalone command line tool with a rich shell interface (using even command completion).
The Java ecosystem is more mature when it comes to connectivity to various databases using JDBC. Also picocli with jline3 let us make a very dynamic shell interface with command completion.
The definitions of data quality checks that should be executed are defined in YAML files, backed by a YAML (in fact JSON) schema files. Our YAML files can be edited in Visual Studio Code (and other code editors) with support of the code completion. It is possible because all the data model is defined as pure Java classes for which we are generating a YAML/JSON schema.
There is still place for Python because it is very popular in the database space. We are simply starting a Python interpreter in the background (from a Java code). Python is used to evaluate validation rules (defined as Python functions) and render SQL queries from Jinja2 templates.
I wanted to develop a student app that possibly could be used by many teams (students from other schools)
I chose Ionic, because:
single codebase: previously, we used React Native for Android and Angular for web/PWA, which was troublesome
portability: runs on PWA (which is important, because iOS license is too expensive for school app), web, Android iOS (+ others, if needed)
full use of web technologies: Next.js, Tailwind, React in this example (in oppose to Flutter/Java/Kotlin)
stability and maintainability: low-entry level due to basic web technologies without new syntax (in oppose to React Native and Flutter), web is really stable and won't lose support (which doesn't have to be true with Flutter/Dart)
Expo was a tool Macombey really wanted to utilize from the beginning. I have been working with React Native since 2016 and originally I had to use simulators in Xcode, install pods on top of node packages, configure certificates, and more abundant objectives that take time away from actual development. As a development studio, we have to move quick and get projects to our clients and partners in a matter of months.
Expo made this easy for us. We now have a mobile app for clients to download and test their project on, there is no need to install pods or configure Xcode, and development is super fast and reliable now.
I had a goal to create the simplest accounting software for Mac and Windows to help small businesses in Canada.
This led me to a long 2 years of exploration of the best language that could provide these features:
Great overall productivity
International wide-spread usage for long-term sustainability and easy to find documentation
Versatility for creating websites and desktop softwares
Enjoyable developper experience
Ability to create good looking modern UIs
Job openings with this language
I tried Python, Java, C# and C++ without finding what I was looking for.
When I discovered Javascript, I really knew it was the right language to use. Thinking of this today makes me realize even more how great a decision this has been to learn, use and master Javascript. It has been a fun, challenging and productive road on which I am still satisfied.
Obviously, when I refer to Javascript, it is not without implying the vast ecosystem around it. For me, JS is a whole universe in which almost every imaginable tools exist. It's awesome - for real. Thanks to all the contributors which have made it possible.
To be even clearer about how intense I am with Javascript, let's just say that my first passion was music. Until, I find coding with Javascript! Yep, I know!
So in conclusion, I chose Javascript because it is versatile, enjoyable, widely used, productive for both desktop softwares and websites with ability to create modern great looking user interfaces (assuming HTML and CSS are involved) and finally there are job openings.
Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.
C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.
We changed to Python instead of Java to have the back-end processing in the same language as our data analysis module. In addition, Python has a lot of libraries for data-processing. We intend to use Flask for our back-end web development. Flask is a simple, straight-forward framework for our purposes. Flask also has a large community which is beneficial to the development process.
JavaScript is at the forefront of our entire development approach. Not only do we use different JavaScript frameworks and management tools, but we also use pure vanilla JavaScript to solve simple problems throughout all of our client's builds. JavaScript is a general purpose programming language that can be blazing fast and fun to work with. There's not one project we are working on that doesn't involve it.
1 code deploys for both: Android and iOS.
There is a huge community behind React Native. And one of the best things is Expo. Expo uses React Native to make everything even more and more simple. Awesome technologies.
Some other important thing is that while using React Native, you are reusing all JavaScript knowledge you have in your team. You can move easily a frontend dev to develop mobile applications.
A huge PRO of Expo, is that it includes a full building process. You run 1 line in the terminal, and 10 minutes after you have 2 builds done. Double check EAS Expo.
C# and .Net were obvious choices for us at LiveTiles given our investment in the Microsoft ecosystem. It enabled us to harness of the .Net framework to build ASP.Net MVC, WebAPI, and Serverless applications very easily. Coupled with the high productivity of Visual Studio, it's the native tongue of Microsoft technology.
Looks familiar, with purposely implemented features
Pros of Java
603
Great libraries
446
Widely used
401
Excellent tooling
396
Huge amount of documentation available
334
Large pool of developers available
208
Open source
203
Excellent performance
158
Great development
150
Used for android
148
Vast array of 3rd party libraries
60
Compiled Language
52
Used for Web
46
Managed memory
46
High Performance
45
Native threads
43
Statically typed
35
Easy to read
33
Great Community
29
Reliable platform
24
Sturdy garbage collection
24
JVM compatibility
22
Cross Platform Enterprise Integration
20
Good amount of APIs
20
Universal platform
18
Great Support
14
Great ecosystem
11
Backward compatible
11
Lots of boilerplate
10
Everywhere
9
Excellent SDK - JDK
7
Cross-platform
7
It's Java
7
Static typing
6
Portability
6
Mature language thus stable systems
6
Better than Ruby
6
Long term language
5
Used for Android development
5
Clojure
5
Vast Collections Library
4
Best martial for design
4
Most developers favorite
4
Old tech
3
Testable
3
History
3
Javadoc
3
Stable platform, which many new languages depend on
3
Great Structure
2
Faster than python
2
Type Safe
0
Job
Sign up to add or upvote prosMake informed product decisions
Cons of Dart
Cons of Java
Cons of Dart
3
Lack of ORM
3
Locked in - JS or TS interop is very hard to accomplish
0
A
Cons of Java
33
Verbosity
27
NullpointerException
17
Nightmare to Write
16
Overcomplexity is praised in community culture
12
Boiler plate code
8
Classpath hell prior to Java 9
6
No REPL
4
No property
3
Code are too long
2
Non-intuitive generic implementation
2
There is not optional parameter
2
Floating-point errors
1
Java's too statically, stronglly, and strictly typed
1
Returning Wildcard Types
1
Terrbible compared to Python/Batch Perormence
Sign up to add or upvote consMake informed product decisions
What is Dart?
Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.
What is Java?
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Need advice about which tool to choose?Ask the StackShare community!
Jobs that mention Dart and Java as a desired skillset
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
Flutter
Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.