Stack Advice

Needs advice
on
Java
and
Common Lisp

Hello everyone! I’m interested in learning AI development, and after doing a little bit of research, I’ve learned that Common Lisp and Java are the top languages for AI. Which one should I learn? What are the differences? Are they hard to learn? If anyone can help with this, it’d be very appreciated. Thank you!

READ MORE
8 upvotes·53.6K views
Replies (4)
CEO, lead developer at Localazy·
Recommends
Java

Java is far more popular and you can use other JVM-based languages such as Kotlin (I would recommend Kotlin over Java). Also, for Java, there are many more libraries, tools, etc. Also, if you learn Java, you can do almost anything - mobile (Android), web, and desktop apps - without "hacks". There is native support for all of these.

As with any programming language, it's not hard to learn the syntax but it's hard to understand the ecosystem, know libraries, best practices, etc. From that point of view, I would also prefer java - more tools, more libraries, more resources, guides, how-tos, etc.

READ MORE
5 upvotes·52.4K views
Recommends
Python

I'd recommend Python due to the fact that many AI libraries and frameworks are specifically developed for the Python ecosystem.

Java is good for general purpose programming: Web, Mobile and Desktop, however doesn't really have many native libraries supporting AI Development.

As for LISP, again it has some support,, however Python seems to be the leading edge in AI development

READ MORE
4 upvotes·20K views
View all (4)
Needs advice
on
Vue.js
Svelte
and
React

I know this is a fairly common question, but I feel like this stuff is pretty dynamic, and things fall in/out of fashion over time.

So here it is: I am an aspiring front-end web developer (eventually full stack, but focused on front-end for the time being). I feel pretty comfortable with HTML5, CSS/Sass, and I know enough JavaScript to get by.

I am an adult student doing the self-teaching route, and while my grasp on vanilla JS isn't stellar, I feel like it would be a good idea to start incorporating a framework into my learning. I just have no idea which to choose. To be honest, Svelte looks the best to me, BUT I am looking to be marketable in the future, so it's probably best to start with a more popular framework.

React seems to be the obvious answer popularity-wise, but I want to hear updated opinions from people in the field. While I haven't completely defined my focus, I like creating UI's and really have fun with CSS/Sass.

Thanks in advance, and I hope you're all having a great and safe weekend.

READ MORE
7 upvotes·51.4K views
Replies (5)

I am glad you like Svelte! and I am glad you didn't listed Angular.

I would go with my point of view, if you're considerably new to javascript, I would consider to focus on sharpening those skills. You will need them in order to build anything with those 3 options. You may be surprised how important is to get into the market, so, I would recommend 2 options: * Vue.js has a lot of acceptance nowadays, it's robust enough and ecosystem grows and thrives. Also I consider by my own experience the simplest to learn. Nonetheless, in my experience I don't see vue thriving as much as react. * React.js is the most popular, the one that would probably teach you best javascript and probably for. new learners the least simple to learn. However, once you get it, you would never look back and wonder why you took the decision. React.js is not going anywhere, it would be the option to choose for quite long time. Has wide market acceptance and ecosystem is fantastic.

You could always learn them at the same time tho! It's really up to you! Have fun

READ MORE
6 upvotes·53.4K views
Recommends
React

While it's hard to recommend any framework/library, I'd recommend you start with something that is relatively popular and has a little more maturity. I recommend react because it is arguably the most popular out of the three, so you'll easily find support, and most importantly, a job with this. Vue is a good second option, and also great to learn. To my knowledge, it was actually created by some of the original devs of React. Not sure if that's actually true or not. On to Svelte. This one is actually really great, and I love the approach they took with doing all of the "dirty work" at compile-time. The problem is that it's relatively new, not as mature, and while you're never guaranteed to find a job with any language/framework, your chances are considerably less.

All of this being said, while I do recommend what to start with, just to get yourself into the industry. My personal recommendation for your future career, and just for fun, is to learn them all.

READ MORE
6 upvotes·1 comment·47.7K views
patrickonparker
patrickonparker
·
September 2nd 2021 at 1:16PM

I started with Vue/Nuxt before I had strong general JS skills. I was forced to learn React for a project and it wasn't hard to pick up after learning Vue. Once you learn one of the major frameworks, you can transfer those skills to the others without too much effort. They're all doing basically the same thing (they're all essentially MVC component libraries) but with different conventions.

React is the most popular right now, despite having the worst DX of the three. For a newcomer, my recommendation would be to either 1) focus on React/Next, and push through the higher learning curve or 2) start with something more comfortable like Vue/Nuxt or Svelte/SvelteKit, then learn React/Next to be more marketable. It won't hurt you to have another library/framework in the skills section of your resume.

This is most important: as a newcomer, whatever library you choose, start with the framework. For Vue, start with Nuxt. For React, start with Next, etc. For me, it was MUCH easier to learn Vue using Nuxt and single file components than it would have been to learn the Vue library by itself.

·
Reply
View all (5)
Needs advice
on
Python
Go
and
Elixir

Hi! I'm currently studying Flutter for mobile apps, but I also have a demand to automate some tasks on the web and create backends' for my apps, so thinking about which one of those could be better? Considering the performance and how easy it's to learn and create stuff? (I'm already familiar with .NET stack but want something more "simple" to write)

READ MORE
4 upvotes·51.1K views
Replies (4)
Software Architect at Payoneer·
Recommends
Python

Definitely Python. Lots of libraries, dead simple syntax. Lots of code examples and reference projects. Elixir is pure functional and takes time to grasp the concepts. Go is great, with simple syntax and performant runtime, but more strict as it is statically typed. For quick coding, nothing beats Python. As you come from .net I’d consider similar approach and be considering Java with SpringBoot as it makes Java faster and much more fun to code web servers

READ MORE
5 upvotes·1 comment·49.7K views
Vitor Bacelar
Vitor Bacelar
·
September 1st 2021 at 1:50PM

Thanks! I'll try python a little and I think the libraries and code example will definitely help

·
Reply
Recommends
Elixir

Elixir really has a good performance for the web (and in general). Its framework Phoenix for the web is a great tool, easy to install and to use, with features for websockets (and Pub/Sub) or LiveView to write reactive and real time app with only HTML (and Elixir) so basically everything is in one place

It can take some time to learn a few things in Elixir but I really think it's worth it, and it's very easy to go distributed and concurrent with Elixir. Also it's easier to code quickly with some features like the pattern matching or some operators like the pipe or the capture one

And in the case you need it you can still connect and interface Python and Elixir pretty quickly, and now Elixir has a lot of different frameworks : web, embedded or even neural networks now

Never went far with Go but I have some trouble with its syntax, I find it a bit messy

I don't have a lot of experience with the web with Python but I don't have a good experience with the little I did

READ MORE
4 upvotes·2 comments·49K views
Vitor Bacelar
Vitor Bacelar
·
September 1st 2021 at 1:55PM

Awesome! I became interested in elixir because it's functional, so definitely will start learning in the near feature, but for the moment I think I'll start with python or golang that seems more familiar. But thanks man, definitely I'll start trying something in elixir soon

·
Reply
Adrian-Paul Carrières
Adrian-Paul Carrières
·
September 2nd 2021 at 8:01AM

That's a good choice too :)

I hope you will have fun learning either of them !

·
Reply
View all (4)
Needs advice
on
React Native
PhoneGap
and
Ionic

Looking for some advice: we are planning to create a hybrid app for both iOS and Android; this app will consume a REST API. We are looking for a tool for this development with the following attributes:

  • Shallow learning curve; easiness to adopt (all team is new into mobile development, with diverse backgrounds: Java, Python & AngularJS),

  • Easiness to test (we discarded Angular-based tools already: creating a unit test in Angular we considered time-consuming and low value. At this point of the project, we cannot afford UI testing with Selenium/Appium based tools).

  • So far, we are not considering any specific capability of the device. Still, in the mid/long term, we would require the usage of GPS (geolocalization) and accelerometer (not sure if it's possible to use it from a hybrid app). Suggest any other tool if you wish.

READ MORE
6 upvotes·39.5K views
Replies (4)
CEO, Co-founder at inPlace·
Recommends
Kivy

If your team has a strong background in Python and you want to release some prototype soon, you could try Python and Kivy. Kivy is an open-source, cross-platform Python framework for rapid development of mobile GUIs. It supports both iOS and Android. I have passed a similar situation recently: to start a mobile app with no background in mobile development. Kivy saved me a lot of time. I could develop a prototype and release it faster than I thoght.

READ MORE
5 upvotes·33.4K views
Engineering at Xtartup·

To be honest , You need to think these points :

  • Developer Experience

  • Tooling

  • Maintainability

My vote for now is going with React Native with Expo , using Typescript...

With this stack You could follow some patterns and principle that the Java and python programmers are familiar with.

Typescript is a javascript Superset that you can follow Procedural , Functional and OOP approaches and an easy learning curve.

With Expo you need to concern only with the shared layer (Typescript) and the Native ones will be expo responsibility.

Please check Expo.com and try to get started using typescript.

Good performance and with EAS (paid plan) you can create a full CI CD pipeline for your app connected to the stores(Apple and Android).

READ MORE
4 upvotes·34.7K views
View all (4)
Software Developer at BBT.live·

Hi all,

I would like some information regarding the benefits an aspiring start-up company may have, while using GitHub Enterprise vs the regular GitHub package. On a separate issue, I'd like to understand whether GitLab may have some DevOps-related advantages GitHub does not.

Thank you in advance, Matt

READ MORE
7 upvotes·53.5K views
Replies (5)
Founder & CEO at Moducate·

I'd lean towards GitHub (either billing plan) for one key reason that is often overlooked (we certainly did!).

If you're planning on creating OSS repositories under your start-up's name/brand, people will naturally expect to find the public repositories on GitHub. Not on GitLab, or Bitbucket, or a self-hosted Gitea, but on GitHub.

Personally, I find it simpler to have all of the repositories (public and private) under one organisation and on one platform, so for this reason, I think that GitHub is the best choice.

On the DevOps side, GitLab is far superior to GitHub (from my experience using both GitHub Enterprise and GitLab Ultimate), but for the one aforementioned, we're using GitHub at Moducate.

READ MORE
7 upvotes·1 comment·45.5K views
anas mattar
anas mattar
·
October 16th 2021 at 3:39AM

that depends on your company infrastructure. if you don't have Servers. You should use GitHub. so your repositories keep in gitHub. if you have good infrastructure so I prefer to use gitlab. So you can install it and configure on your server.

·
Reply
Recommends
GitLab

Advantages for Github Enterprise is that you get more storage, CI minutes, advanced security features, and premium support. If you don't really need any of those, you can stick with Github Team. Though if you're going to use Gitlab CI, I suggest going with Gitlab instead of Github so you won't have to maintain 2 repositories.

Regarding the advantages that Gitlab CI has over Github, there's a detailed explanation here: https://about.gitlab.com/devops-tools/github-vs-gitlab/ci-missing-github-capabilities/

If you need more minutes for Gitlab CI, you can always use your own Gitlab CI runners instead of the shared runners: https://docs.gitlab.com/runner/register/

READ MORE
6 upvotes·48.2K views
View all (5)
Software Developer ·
Needs advice
on
PostgreSQL
MySQL
and
Go

I am building a fintech startup with a friend, we decided to use Go for its performance and friendly syntax. We want to know if we should use a web framework or just use the pure net/http lib and also for the databases we put PostgreSQL and MySQL on the table, we want to know which one is better, from the community support to the best open-source implementation?

READ MORE
5 upvotes·42.1K views
Replies (3)
Software Engineer Specialist at Kaleyra·
Recommends
PostgreSQL
Go

Postgres is a better option to consider compared to MySQL. With respect to performance, postgres has an edge over MySQL. Don't use net/http for production. Read this https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779 I prefer gorilla/mux as it is simple and provides all the basic features. Other lib seems to be an overhead if you just need basic routing.

READ MORE
Shubham Chadokar (schadokar.dev)
7 upvotes·35.8K views
Software Engineer ·

MySQL and Postgre both are great and awesome and great support, community, support. Whatever will be good. Postgree have some little advantages.

READ MORE
6 upvotes·1 comment·41.9K views
Wassim Ben Jdida
Wassim Ben Jdida
·
August 16th 2021 at 3:41PM

Thank you so much carlos for responding ! for Golang, do you suggest we go with a web framework maybe like Martini, Gin... or just use the builtin net/http ?

·
Reply
View all (3)
Needs advice
on
Puppet Labs
Chef
and
Ansible
in

Personal Dotfiles management

Given that they are all “configuration management” tools - meaning they are designed to deploy, configure and manage servers - what would be the simplest - and yet robust - solution to manage personal dotfiles - for n00bs.

Ideally, I reckon, it should:

  • be containerized (Docker?)
  • be versionable (Git)
  • ensure idempotency
  • allow full automation (tests, CI/CD, etc.)
  • be fully recoverable (Linux/ macOS)
  • be easier to setup/manage (as much as possible)

Does it make sense?

READ MORE
Chef vs Puppet vs Ansible vs Saltstack: Which One to Choose | Edureka (edureka.co)
10 upvotes·42.6K views
Replies (3)
Principal Engineer at RaiseMe·
Recommends
Ansible

I recommend whatever you are most comfortable with/whatever might already be installed in the system. Note that, for personal dotfiles, it does not need to be containerized or have full automation/testing. It just needs to handle multiple OS and platform and be idempotent. Git will handle the heavy lifting. Note that you'll have to separate out certain files like the private SSH keys and write your CM so that it will pull it from another store or assist in manually importing them.

I personally use Ansible since it is a serverless design and is in Python, which I prefer to Ruby. Saltstack was too new when I started to port my dotfile management scripts from shell into a configuration management tool. I think any of the above is fine.

READ MORE
8 upvotes·34.5K views
Recommends
Salt

You should check out SaltStack. It's a lot more powerful than Puppet, Chef, & Ansible. If not Salt, then I would go Ansible. But stay away from Puppet & Chef. 10+ year user of Puppet, and 2+ year user of Chef.

READ MORE
6 upvotes·35.7K views
View all (3)
Needs advice
on
Laravel
and
CodeIgniter

I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

Need help deciding technology stack. Thanks.

READ MORE
15 upvotes·36K views
Replies (6)
Technical Lead at DPO International·
Recommends
Vue.js
Laravel

It's better to use Laravel with Vue.js and also laravel is very lightweight and speed performance.

READ MORE
11 upvotes·26.2K views
Recommends
Node.js
Go

I don't know anything really about CodeIgniter, but I do know that microservices are a great choice for e-commerce, as they tend to have a lot of different moving (but not necessarily connected) parts. That being said, and if you have a choice, I'd recommend Go personally. But node isn't the worst option if Go isn't something you're comfortable with.

If you know typescript and want an entire framework to work with, go wth Angular. AngularJS, to my knowledge was deprecated. React is great, popular, and you'll find a ton of support.

READ MORE
5 upvotes·9.3K views
View all (6)
Mahine Learning Engineer ·
Needs advice
on
scikit-learn
Python
and
Keras

I have decided to learn Machine Learning using Python. But, I don't know which is the best IDE to use (specifically for ML) to get high performance. I have been using #Vscode since the beginning when I started learning Python. But now, I feel it's not suitable for Data Analysis, Representing the Data, Visuilaizing and this kind of stuff. Any Advice?

READ MORE
8 upvotes·17.6K views
Replies (3)
software developer at ETIT·
Recommends
Python
Jupyter

I think that Jupyter notebook is suitable for your inquiry about data representations and visualizing for Machine learning.

READ MORE
Project Jupyter | Home (jupyter.org)
8 upvotes·3 comments·17.6K views
Ahmed Khaled
Ahmed Khaled
·
August 3rd 2021 at 2:02PM

Thank you very much.

·
Reply
Ahmed essam
Ahmed essam
·
August 19th 2021 at 10:18AM

You're welcome ^_^

·
Reply
Abu Jafor Mohammad Saleh
Abu Jafor Mohammad Saleh
·
August 10th 2021 at 11:47AM

You can use Spyder or JupyterLab. Both are userfull for ML.

·
Reply
Recommends
Spyder

I use spyder because of its interactive side, while also allowing for developing a proper program. I usually run snippets of code, see the outputs either in the ipython console or through the powerful "Variable explorer" window. As the code grows, I build them into functions etc. on the program side. I often use F-9 to run a snippet in the program panel, get insight into the objects, drill down as I like. Many people use jupyter notebooks, but for me Spyder is indispensable when I need to build step by step while exploring, experimenting, etc.

READ MORE
5 upvotes·15.6K views
View all (3)
Needs advice
on
Spring Boot
and
Laravel

Hi. I am a backend developer in a company tasked with recoding a legacy application, choosing the right technology stack, and then later hiring for that stack.

This is a freight/logistics application made 15 years ago in PHP with no modern framework used. In this application, customers from different countries login into theirs accounts and add a huge number of shipments, like let's say 500, and then, later on, generate PDFs for them after calling third-party APIs. This application has API integrations with lots of other companies and also offers API access to its own software as well. This application is also used in-house by warehouse people to scan different shipments using barcode scanners and to process shipments by performing different actions on them. The database being used currently is MySQL.

Now we have the choice to write this application in a modern technology stack. Performance, speed, reliability, and security are the primary concerns here.

Should I go with Java/Spring Boot with AngularJS as the front end or PHP/Laravel with Vue.js as the front end?

Switching at this point from PHP to Java will not be hard if Java is considered better here because we can hire as per our final decision.

Thanks.

READ MORE
12 upvotes·22.3K views
Replies (8)
Recommends
Laravel

Hi Chris, I will suggest going with Laravel and MySQL since the existing system is already in PHP it will help a lot and easier to port out to Laravel and will save a lot of time. Laravel has a very robust mechanism to handle the jobs/Queues and it comes with a lot of features.

READ MORE
User Adnan Mumtaz - Stack Overflow (stackoverflow.com)
14 upvotes·1 comment·21.8K views
Chris Goodwill
Chris Goodwill
·
August 3rd 2021 at 6:42PM

Thank you. Keeping aside the fact that the existing system is made in PHP, would you still recommend Laravel over java? Wont java give better performance and speed over Laravel?

·
Reply
Nside Technologies·

Hi Chris, I recommend you to use Java with spring boot to rewrite your software. You will have the advantages of modern applications. The main challenge will be to cut your existing business logic to functional services (microservices) that will communicate each others. That will comes up also with the challenges of orchestrate those services but for that no worries. For the database also, will recommend Postgre too. For the front end, you can use angular, react or vue js with your backend since it will be API calls.

Hope it can help!

READ MORE
10 upvotes·21.2K views
View all (8)