No. .things files use a completely different syntax. You’ll have to use the Things page in the docs which goes over the basic syntax and examples in the docs and the forum for how to translate from the YAML to .things file syntax. Note, for some add-ons, there are some capabilities that are not possible when using .things files, such as setting config parameters on devices in Zwave.
Also note that it’s a custom syntax that has nothing to do with Java.
There are some scripts scattered here and there on the forum that will pull the Thing from the REST API and create a .things flle out of them.
I personally don’t use and don’t support the use of things files. I find way too much time is spent fighting syntax errors that are impossible to make in the UI. And autodiscovery is always going to trump hand written for me anyway.
I’m a little less that way when it comes to Items and Rules, though even with Items if you plan on using the semantic model the UI is going to be less work for those as well.
It depends on how fast you want to get up and running and whether you are willing to report and follow the reported problems with 4. $ is getting better and M1 is pretty solid on a lot of fronts. But 3.4.2 isn’t getting any new updates so it’s stable. But pay attention to breaking changes because you’ll have to change those.
4.0 release will almost certainly occur in June.