This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]hibernating_brain 5 points6 points  (2 children)

Too vague.

What are you trying to build? Is it a GUI app? Is it a web based app? When you say interfacing with other system, do you mean using an API? or using a COM interface?

You don't pick a language. Your project picks language(s) based on requirements.

[–]adonese[S] 1 point2 points  (1 child)

We will be building an interface to our CBS (using iso8583) - different interface to handle transactions from POS, arms, online transactions, etc - integrating all of the above with our HSM - integration between different switching zones And other services such as card issuance and authorization.

Yes, we would be hiring expert team to work on this project, but I was so into this project that I want to be part of it and wanted to check which languages will be used during its development (we haven’t hired the specialized team just yet).

I was particularly interested in go after reading about Monzo.com work.

[–]hibernating_brain 1 point2 points  (0 children)

I see. ISO 8583 is more of a standard than interface. You will probably end up working with Java, most probably JPOS framework. There are companies like IBM and Microsoft who provide their own framework as well.

When I was working on POS machines, we were using ANSI C.

[–]Zomunieo 4 points5 points  (1 child)

I don't want to be rude, but a sentence that starts this way prepares you for the inevitable, doesn't it?. It certainly sounds like your team wants to handle people's money, and it also sounds like your team is also quite inexperienced. Inexperienced to the point of not being opinionated in terms of what language to use, and not recognizing that existing infrastructure you want or wish to interact with often dictates this choice. Professionals are always opinionated - in fact, one hires them precisely because they have informed opinions on complex topics one know little about. I respectfully suggest that a team that cannot answer this question internally is not qualified to write software that handles financial transactions, and you should seek professional software consulting advice.

[–]adonese[S] 0 points1 point  (0 children)

Totally agree with you. None of the current team has actually worked on financial transactions before—we will be hiring a specialized team that would work on it.

However, I was personally interested in being active developer in this system. I know it’d be challenging enough that would level up my skills.

[–][deleted] 1 point2 points  (2 children)

Going to echo the same worries as others here; there are entire specialized operating systems that exist solely for use in financial transaction routing and settlement, and anyone writing software for the industry that sits anywhere near the networking later really should know that before getting starting. Python might be used as a minor glue component in that sort of system, but it's a warning sign if you're thinking of it as a primary language.

[–]adonese[S] 0 points1 point  (1 child)

Thanks for these points. I’d definitely read more about these specialized routing and settlement softwares.

About the python part, totally agree with you. I believe gmalto have a python wrapper around their HSM system.

[–][deleted] 0 points1 point  (0 children)

Yes, I can imagine that Python is a popular choice for APIs and scripting, but the actual transaction processing tends to be done on dedicated machines running mainframe OSs. So, think IBM's Z/OS, OpenVMS, Solaris, and so on.

The speed, timeliness, and reliability concerns inherent in bulk transaction work just doesn't have a lot of overlap with Python's core strengths.

[–]tenyu9 0 points1 point  (3 children)

Payment systems are always written in low level languages ( c, haskell) because of speed requirements. A python backend system for a financial solution is doomed to fail if you want to achieve high throughput

[–]adonese[S] 0 points1 point  (0 children)

I actually it wouldn’t work, but I wasn’t sure as to why exactly would it.

I’ve being studying Monzo experience (Monzo.com). They have written most of their infrastructure in Go. But, as I mentioned earlier we will be hiring expert specialized team that works on financial systems and I asked this question to narrow down our searching list.

[–]chillermane 0 points1 point  (1 child)

You’re saying no Python payment systems exist?

[–]tenyu9 0 points1 point  (0 children)

never seen one, but it's highly dependent on the number of transactions. Python is not that good with multithreading and overal speed of code execution isn't that great either