Learning A New Program Language For Developing Microservices
Discussion
Since I am on Furlough from today I have decided to spend some of the time brushing up on my developer skills. So the moment I am looking at Rust or Go for creating microservices; initially for reporting. Basically parsing JSON and turning to into a formatted PDF or XLSX file. I could use Java and one of the micorservices frameworks but that beats the object of the exercise. I have no experience of serverless computing so this is new territory for me.
So which one would you go for? Go appears to have better support for GCP and AWS which is a big plus. Rust seems to have more of a buzz about it.
Dammed auto correct! The title should be programming language
So which one would you go for? Go appears to have better support for GCP and AWS which is a big plus. Rust seems to have more of a buzz about it.
Dammed auto correct! The title should be programming language

Edited by plasticpig on Wednesday 1st April 10:07
Both are more systems languages, not really designed for micro service/API development.
If I were doing the same, from a purely personal perspective (i.e. not looking to build particularly marketable skills) I’d be looking at https://darklang.com/
If I were doing the same, from a purely personal perspective (i.e. not looking to build particularly marketable skills) I’d be looking at https://darklang.com/
i guess the default first statement when it comes to microservices is that they aren't really a defined thing - they are more a set of principles and best practices that services should uphold. So, there isn't really a set of technical standards such as languages choices that come bundled with the idea, you can learn how to write a microservice in Java just fine.
Is that the answer you were hoping for? or were you more asking what are the languages that lend themselves best to the needs of writing services in this way... it isn't just the language, it's the whole stack and toolchain that need to be considered really.
Is that the answer you were hoping for? or were you more asking what are the languages that lend themselves best to the needs of writing services in this way... it isn't just the language, it's the whole stack and toolchain that need to be considered really.
Blown2CV said:
iIs that the answer you were hoping for? or were you more asking what are the languages that lend themselves best to the needs of writing services in this way... it isn't just the language, it's the whole stack and toolchain that need to be considered really.
I was pretty much looking at using AWS or GCP. I want to play around with both to get a better understanding of their capabilities. My eventual aim is to be able to redevelop a traditional client / server application and move it to a SaaS model but at this point it's purely a learning exercise.plasticpig said:
I was pretty much looking at using AWS or GCP. I want to play around with both to get a better understanding of their capabilities. My eventual aim is to be able to redevelop a traditional client / server application and move it to a SaaS model but at this point it's purely a learning exercise.
Sounds like an interesting project, there is nothing like hands on coding to get a feel for a systems capabilities.I assume that you will opt for REST interfaces between you service or are you thinking about something that is more low level?
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
jesusbuiltmycar said:
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
REST (JSON) is certainly far more lightweight than old school SOAP but for a proof of concept exercise I would also look at gRPC plasticpig said:
Blown2CV said:
iIs that the answer you were hoping for? or were you more asking what are the languages that lend themselves best to the needs of writing services in this way... it isn't just the language, it's the whole stack and toolchain that need to be considered really.
I was pretty much looking at using AWS or GCP. I want to play around with both to get a better understanding of their capabilities. My eventual aim is to be able to redevelop a traditional client / server application and move it to a SaaS model but at this point it's purely a learning exercise.jesusbuiltmycar said:
Sounds like an interesting project, there is nothing like hands on coding to get a feel for a systems capabilities.
I assume that you will opt for REST interfaces between you service or are you thinking about something that is more low level?
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
Familiar with SOAP or at least consuming SOAP services in Java. REST would be the preferred solution. I assume that you will opt for REST interfaces between you service or are you thinking about something that is more low level?
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
plasticpig said:
jesusbuiltmycar said:
Sounds like an interesting project, there is nothing like hands on coding to get a feel for a systems capabilities.
I assume that you will opt for REST interfaces between you service or are you thinking about something that is more low level?
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
Familiar with SOAP or at least consuming SOAP services in Java. REST would be the preferred solution. I assume that you will opt for REST interfaces between you service or are you thinking about something that is more low level?
I have a reasonable amount of experience with microservice based systems developed in C++, C# and now Java + Oracle's BPM. I was the lead engineer on C# system and designed/developed it such it supported REST and a fast binary inter-service messaging using standard sockets. The Oracle BPM system uses WSDL which is a fore-runner to REST.
Blown2CV said:
as much as you might have complete design control on how your microservices expose their interfacts, there may be systems of fulfilment downstream that you cannot design in the same way, so you may need a wide range of experience in writing consuming code.
Well I will tackle that bridge if I come to it. I have 3 months of pretty much uninterrupted time to just concentrate on learning new stuff. If I can squeeze some useful generic microservices out of it for future use so much the better. If you're looking at serverless/microservices I'd consider Python - it's a favourite with the cool machine learning kids, works with stuff like AWS Lambda and doesn't run the risk of dropping out of favour as much as some of the new upstarts. Not as cool as Go, Rust, Dart, Kotlin, Webassembly and all the rest, but there's a lot you can do with it.
Much of the important stuff to learn is around CI/CD, infrastructure as code and software defined deployments - so even if you stick with boring old Java (make sure you're using the latest stuff to get rid of boilerplate - Spring Boot and Lombok as a bare minimum), there's a lot to do with SAM, cloudformation and all the other tools to compose a meaningful application.
Much of the important stuff to learn is around CI/CD, infrastructure as code and software defined deployments - so even if you stick with boring old Java (make sure you're using the latest stuff to get rid of boilerplate - Spring Boot and Lombok as a bare minimum), there's a lot to do with SAM, cloudformation and all the other tools to compose a meaningful application.
Lombok has been a bit hit and miss. We tried it and didn't particularly like it.
Python is a good shout. I always enjoy coding in it. My latest project has been in Node which has been fun, although most of what I do is still Java.
Go is nice, although a little esoteric. I've only spent an evening playing about with it.
Python is a good shout. I always enjoy coding in it. My latest project has been in Node which has been fun, although most of what I do is still Java.
Go is nice, although a little esoteric. I've only spent an evening playing about with it.
I am in cloud and DevOps and got laid off. Also using the time to upskill.
Not heard of dark Lang but will check it out.
I'd say that micro services development is more about architecture then language so for example using DDD, CQRS etc. Maybe some languages lend themselves better to being immutable.
Just building out my DevOps lab and doing real world projects etc.
Not heard of dark Lang but will check it out.
I'd say that micro services development is more about architecture then language so for example using DDD, CQRS etc. Maybe some languages lend themselves better to being immutable.
Just building out my DevOps lab and doing real world projects etc.
Working in a big forward looking software delivery company the biggest technologies the devs i work with are using is Kotlin which seems to be pretty impressive. Other things to look at too which more & more companies are embracing are; Kafka, GraphQL, AWS (look at their courses), kubernetes.
Gassing Station | Computers, Gadgets & Stuff | Top of Page | What's New | My Stuff


